为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C
小画冰 2015-12-15 21:49:43
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;

//img1.sycdn.imooc.com//56702674000173be02390127.jpg

因为系统只认'\0'为字符串的结束符,所以b1的那种写法会造成系统认为你未完成输入,所以会多给b1一些空间。

根据自己的需求选择要用strlen或sizeof,字符串像b1那样赋值要记得最后加个'\0'。

查看完整回答
反对 回复 2015-12-15
?
流浪_老

TA贡献71条经验 获得超14个赞

用strlen函数来比较

查看完整回答
反对 回复 2015-12-16
?
顾玌

TA贡献4条经验 获得超0个赞

分别可以用循环,i累加,然后比较。char有个字符串长度的函数strlen,应该也可以用,如果没有规定长度的话,不过这个对字符数组不管用。

查看完整回答
反对 回复 2015-12-15
  • 3 回答
  • 0 关注
  • 2188 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信