1。1 = length的值要传入;在函数内部sizeof、strlen 这种事没有用的;错误原因:传入参数
是一种变量声明。
1.2
char * a1 = "12345";
a1[1] = a1[2];
a1 在字面字符常量区域不能进行交换;是只读的··
要放在heap or stack区才可以;
1.2.1*end-- = *beg; <=>
*end=*beg;
end --;
1.3
while 之后的值就是最后的那个值
注意 C-style字符串的问题·· 最后一个要有 0 可以作为判断的依据
一定要打了草稿再上机写程序·· 否则浪费时间
测试用例:
1 = 完全取反的测试用例;也就是说电脑什么都没干的测试用例;例如去掉重复中的;完全没有重复
的测试用例
2 = 空的测试用例;例如完全是空的字符串或者数组;
2013年6月28日10:37:26
1.4 在循环中要含有回归条件例如++t 这种才可以·· 要不然会一直循环到死
test ::strcpy 不会加入‘/0’符号在结尾处,但是当strcpy最后的值足够放下那个‘\0’时可以放下
strcpy函数会放下这个字符
char * a = "1234";
char b[5];
strcpy(b,a);
return 0;
这个样子的时候会在最后加入一个‘\0’
in this case::
char * a = "1234";
char b[6];
strcpy(b,a);
return 0;
b会在最后一个地方加入‘\0’
char *a = "1234";
在
a[0] = '1'
a[1] = '2'
a[2] = '3'
a[3] = '4'
a[4] = '\0'
a[5] = '\0'
char b[6] = {0};
这样的话b[0] = '\0';
2013年6月29日10:40:16
在同一个层次下·· 有一个变量是无法看到其变化的
是一种变量声明。
1.2
char * a1 = "12345";
a1[1] = a1[2];
a1 在字面字符常量区域不能进行交换;是只读的··
要放在heap or stack区才可以;
1.2.1*end-- = *beg; <=>
*end=*beg;
end --;
1.3
while 之后的值就是最后的那个值
注意 C-style字符串的问题·· 最后一个要有 0 可以作为判断的依据
一定要打了草稿再上机写程序·· 否则浪费时间
测试用例:
1 = 完全取反的测试用例;也就是说电脑什么都没干的测试用例;例如去掉重复中的;完全没有重复
的测试用例
2 = 空的测试用例;例如完全是空的字符串或者数组;
2013年6月28日10:37:26
1.4 在循环中要含有回归条件例如++t 这种才可以·· 要不然会一直循环到死
test ::strcpy 不会加入‘/0’符号在结尾处,但是当strcpy最后的值足够放下那个‘\0’时可以放下
strcpy函数会放下这个字符
char * a = "1234";
char b[5];
strcpy(b,a);
return 0;
这个样子的时候会在最后加入一个‘\0’
in this case::
char * a = "1234";
char b[6];
strcpy(b,a);
return 0;
b会在最后一个地方加入‘\0’
char *a = "1234";
在
a[0] = '1'
a[1] = '2'
a[2] = '3'
a[3] = '4'
a[4] = '\0'
a[5] = '\0'
char b[6] = {0};
这样的话b[0] = '\0';
2013年6月29日10:40:16
在同一个层次下·· 有一个变量是无法看到其变化的