- 字符串比较不能直接用== ,要用strcmp.
- 用strcmp时注意当相等时,返回0,在if语句中为不进入.
- 用gets才能读入带空格的字符串,scanf遇到空格,回车,TAB认为输入结束.
- 用gets和scanf("%c",&x)时,注意要用getchar()吃掉缓冲区的回车.
- 一定要看vim前面的☸提示.
- 定义一个指针,要么让它指向某个变量,要么给它动态分配内存.不要直接使用!
- 字符数组只有在定义时才能将整个字符串一次性的赋值给它,一旦定义完了,就只能一个字符一个字符的赋值了.例如:
char str[7];
str = "hello";
str[0] = 'a'; str[1] = 'b'; str[2] = 'c';
str[3] = '1'; str[4] = '2'; str[5] = '3';
- 除了字符数组,C语言还支持另外一种表示字符串的方法,就是直接使用一个指针指向字符串,例如:
char *str ;
str = "xxxx";
或者
char *str = "xxx";
- 指针数组的输入操作,需要先动态分配内存给指针.
char *string[10] = {NULL};
for(i = 0; i < 10; i++) {
string[i] = (char *)malloc(sizeof(char)*20);
scanf("%s", string[i]);
}