柠檬试题库
search
首页
计算机
公务员
驾照
关于
share
若有以下定义和语句 #include
char s1[10]= "abcd!", *s2="\n123\\"; printf("%d %d\n", strlen(s1), strlen(s2)); 则输出结果是
A.10 7
B.10 5
C.5 5
D.5 8
热度🔥2,076
参考答案:C
解析:
【解析】strlen函数返回字符串的长度,求字符串长度时,遇到结束标志'\0'为止,但是长度不包括结束标识。字符数组s1的后5个元素没有赋值,都为'\0',即"abcd!"后为'\0'。所以strlen(s1)的值为5。字符指针s2所指向的字符串中,\n为转义字符换行符,表示1个字符,\\也为转义字符,代表\,也是1个字符,其后为字符串结束标识'\0'; 所以strlen(s2)的值也为5。因此C选项正确。
复制题目向AI提问
content_copy
content_copy
扫码免费计算机二级刷题
2025年计算机等级考试题库
推荐
有以下程序: #include int f(int n); main() { int a=3,s; s=f(a);s=s+f(a); printf("%d\n",s); } int f(int n) { static int a=1; n+=a++; return n; } 程序运行后的输出结果是( )。
学生小王在选课时编写了一个程序,为了保证有足够的学分,他先选了课程B,然后继续申请心仪的课程A。若能选到课程A,则退掉课程B。部分程序如下: count.A //表示课程A的信号量 count.B //表示课程B的信号量 { … P(count.A); select_course(A); relese_course(B); V(count.B); … } 请问:小王的程序能否达到选到课程A又退掉课程B的目的?
软件是( )。
标签
二级C语言
字符
strlen
s1
s2