猿问
如何比较char a[]=”xyz”,b[]={‘x’,’y’,’z’};的长度
char a[]=
”
xyz
”
,b[]={
‘
x
’
,
’
y
’
,
’
z
’
};
小画冰
浏览 2235
回答 3
3回答
Chendroc
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'。
0
0
0
流浪_老
用strlen函数来比较
0
0
0
顾玌
分别可以用循环,i累加,然后比较。char有个字符串长度的函数strlen,应该也可以用,如果没有规定长度的话,不过这个对字符数组不管用。
0
0
0
随时随地看视频
慕课网APP
相关分类
C
typedef入门问题
1 回答
我要回答