如何比较char a[]=”xyz”,b[]={‘x’,’y’,’z’};的长度

char a[]=xyz,b[]={x,y,z};

小画冰
浏览 2190回答 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'。

流浪_老

用strlen函数来比较

顾玌

分别可以用循环,i累加,然后比较。char有个字符串长度的函数strlen,应该也可以用,如果没有规定长度的话,不过这个对字符数组不管用。
打开App,查看更多内容
随时随地看视频慕课网APP