急.char a[12]={'a','b','c','d','e','f','g',}; strlen (a)的结果为多

急.char a[12]={'a','b','c','d','e','f','g',}; strlen (a)的结果为多少?
月亮之美 1年前 已收到1个回答 举报

zhaowenbo 幼苗

共回答了15个问题采纳率:93.3% 举报

答案是:7
strlen(a)函数的功能是返回a的长度,不包括结束符NULL. (这是百度百科那里的解释)
实际用VC++运行了答案是7 sizeof(a)=12;
如果是楼下那种情况:
char a[] = {'a', 'b', 'c', 'd', 'e', 'f','g' };
strlen(a)是不确定的,此时字符'g'后面不存在'',所以sizeof(a)=7
如果手动在'g'后面添加'',变成
char a[] = {'a', 'b', 'c', 'd', 'e', 'f','g','' };
此时strlen(a)是确定的,值为7,而sizeof(a)=8

1年前

3
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 5.874 s. - webmaster@yulucn.com