1,C中的字符串总是以\0结束,所以字符串的长度=字符数多+1
char saying[]="Hello" 数组的长度为6
2,strcpy操作会包括终止\0
strncpy当源字符串大于要复制的字符数时,需要手动补\0
3,strlen不会包括\0
5,输入
scanf适合读取直到空格
gets会将字符串读取到数组中,直到回车,但他不会检查数组的大小,有可能 会崩溃。另外只能从标准输入流中读取。读取失败返回NULL
fgets会控制读取的字符串长度。fgets(buffer,n,stdin)至多读取n-1个字符并在末尾添加\0。在回车时会读取\n,而gets不会。
6,puts其字符必须用\0结束,会自动添加\n
7,sizeof
sizeof对指针操作,返回指针长度
对字符数组操作,返回字符数包括\0,即strlen(a)+1=sizeof(a)
u_char *ps1 = "sfe";
u_char ps2[] = "sfe";
sizeof(ps1)=8
sizeof(ps2)=4
3292

被折叠的 条评论
为什么被折叠?



