char a[]=”xyz”,b[]={‘x’,’y’,’z’};
3 回答
已采纳
Chendroc
TA贡献2条经验 获得超0个赞
char a[] = "xyz"; char b1[] = {'x', 'y', 'z'}; char b2[] = {'x', 'y', 'z', '\0'}; cout << strlen(a) << endl; cout << strlen(b1) << endl; cout << strlen(b2) << endl; cout << sizeof(a)/sizeof(a[0]) << endl; cout << sizeof(b1)/sizeof(b1[0]) << endl; cout << sizeof(b2)/sizeof(b2[0]) << endl;
因为系统只认'\0'为字符串的结束符,所以b1的那种写法会造成系统认为你未完成输入,所以会多给b1一些空间。
根据自己的需求选择要用strlen或sizeof,字符串像b1那样赋值要记得最后加个'\0'。
- 3 回答
- 0 关注
- 2233 浏览
添加回答
举报
0/150
提交
取消