若有以下定义和语句 #include char s1[10]= "abcd!", *s2="\n123\\"; printf("%d %d\n", strlen(s1), strlen(s2)); 则输出结果是( )。

admin2015-07-28  65

问题 若有以下定义和语句
#include
char s1[10]= "abcd!", *s2="\n123\\";
printf("%d %d\n", strlen(s1), strlen(s2));
则输出结果是( )。

选项 A、5 5
B、10 5
C、10 7
D、5 8

答案A

解析 strlen()函数的功能为计算字符串的实际长度(不包含结束标志),计算机在存储字符串的时候会自动在字符串结束处加上结束标志?\0?,所以用strlen()函数计算得数组s1的字符串的长度为5。字符指针s2指向的字符串中有两个转义字符,?\n?和?\\ ?分别代表一个字符,所以计算得s2指向的字符串的长度值也为5,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/yzDp777K
0

最新回复(0)