我有道C语言题目~有兴趣请做做~

我有道C语言题目~有兴趣请做做~
以下程序的输出结果是( ).
main()
{ char st[20]= “hellot\”;
printf(%d %d n”,strlen(st),sizeof(st));
A) 9 9 B) 5 20 C) 13 20 D) 20 20
Amyoung 1年前 已收到1个回答 举报

277267104 幼苗

共回答了19个问题采纳率:94.7% 举报

strlen()函数用来计算字符串数组的长度.它包含再库中.
这个长度代表字符串中以为结束符前面的字符数.
“hellot\”可以分解位{'h','e','l','l','o','',.}
'h','e','l','l','o'共5个字符
strlen(st)的值为5.
sizeof()函数用来统计参数所占的内存空间,即字节数.因为数组st[20]是字符型的,每一个数组元素占据一个字节,数组共20个元素.
所以sizeof(st)的值是20.
编译不过的原因有两个:
1、如前所述strlen函数调用应该包含头文件
所以应该添加#include
2、printf(%d %d n”,strlen(st),sizeof(st));
这句差一个" 当然编译不过.
修改成printf("%d %d n”,strlen(st),sizeof(st));
最后修改的代码应该是:
#include
#include(可以省略)
main()
{ char st[20]= “hellot\”;
 printf(“%d %d n”,strlen(st),sizeof(st));
}
另外提供一篇关于sizeof()和strlen()详细解释的文章.
链接如下:

1年前

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