c语言 请看看如下试题,谢谢!

若有以下定义和语句
char sl[10]= "abcd!", *s2="n123\\";
printf("%d %d\n", strlen(s1),strlen(s2));
则输出结果是
A) 5 5 B)10 5 C)10 7 D)5 8
一头雾水,请高手帮忙!

strlen是取字符长度的函数
sl[10]这个字符数组中有5个字符,所以取得的长度是5
*s2中看似有六个字符,可以“\\"是一个转义字符,转义后就是”\".所以它也只有五个字符。
综上所述,答案选A
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-31
哦知道了
第2个回答  2011-01-31
答案是A
1) strlen 不计算 '\0'
2) \\ 中的第一个代表逃逸符;第二个代表要逃逸的字符,所以 \\就是 \的意思
3) "abcd!" 5个字符,为5;"n123\\" => n123\ 五个字符,为5;所以选择A
第3个回答  2011-01-31
选A

c语言 请看看如下试题,谢谢!
strlen是取字符长度的函数 sl[10]这个字符数组中有5个字符,所以取得的长度是5 s2中看似有六个字符,可以“\\\\"是一个转义字符,转义后就是”\\".所以它也只有五个字符。综上所述,答案选A

关于C语言的一个题目,如图,请教详细解释,谢谢.
如题 s->i[0] = 0x39, s->i[0] = 0x38,假如内存地址如下,则:地址 0x0000 0x0001 0x0002 0x0003 i[2]: 9 3 8 3 而c[4]则对应这4个地址,c[0]当然是9,选B.

C语言题目,请帮忙做一下,谢谢!
1.输入scanf("%d",&a); ch=getchar();输出printf("%d",a) ; putchar('a');2.1.for循环语句 for语句格式为:for(表达式1;表达式2;表达式3)语句:\/*循环体*\/ 该语句执行过程如下:①先对表达式1赋初值;②判别表达式2是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,...

c语言 请大神帮忙看看第2 第3(编排有点问题 这本书 第三题的第二个小...
第6题:看清楚第二个for循环后有个分号(;),所以後面的printf和前面的循环一点关系也没有;第8题:请认真再算一遍吧,最终m=55%3=1;第10题:A选项前面是对的,後面终止循环就错了,B选项是对的,确实只能在循环或switch中使用,否则编译程序时编译会出错,编译器可能会告诉你缺少循环体的错误等。

大神帮忙看看,c语言题目,要有解析!!
A 运行正确,结果输出正确。B 运行正常,输出不正确,原因:union缺省赋值是给第1个元素。C 运行不正常。原因:comm={12.5} 后 缺少语句结束符 ;D 运行不正常。原因:comm=5; union 赋值语法错误

C语言题目!!
void main(){ char *ch; ch="abc";ch='d'; \/\/程序可以编译链接通过,但是运行到这里程序会非法操作,出现系统提示,内存只能读 } B选项:char ch[]={'a','b','c'}; \/\/这样赋值也没错,程序也能编译通过,但是你只能把ch当一个字符数组使用,而不能把它当字符串来使用,因为字符串必须用...

c语言编程,后天考试 谢谢
第一题:include<stdio.h> void fun(char s1[],int n,int m,char s2[]){ for(int i=n-1,j=0;s1[m]&&j<m;i++,j++){ s2[j]=s1[i];} s2[j+1]='\\0';for(i=0;s2[i]!='\\0';i++)printf("%c",s2[i]);printf("\\n");} void main(){ int n,m;char s1[256]...

c语言编程题,请高手帮忙做一下,拜谢,急急急急……
1.include <stdio.h> double funcPi(int);int main(void){ int arg;printf("Input the argument: ");\/\/ \/\/ 无异常输入 \/\/ while (!scanf("%d", &arg)){ printf("Check your input and retry: ");while (getchar()!='\\n'){ continue;} } while (getchar()!='\\n'){ continue...

几道c语言题目,还请高手不吝赐教,谢谢!不要嫌烦哈……
c=a;printf("a=%d b=%d c=%d\\n",a,b,c);程序的输出结果是()。A.a=10 b=50 c=10 B.a=10 b=50 c=30 C.a=10 b=30 c=10 D.a=50 b=30 c=50 答案:A 我认为是C,求教……if(a>b) 是不成立的,后面的语句不运行!a,b,c值不变 ...

请C语言编程高手帮忙帮我看看下面的题目
① 倒填 ② 蛇形填数 ③ 回转填数 这个你应该看的懂吧 你在表中从1数到25就知道怎么填的了 然后再看程序 应该很简单的啊 你得把程序循环得层次弄清楚 例如③ 回转填数 int i,j,k=1,m,mi,mj,a[NUM][NUM],ind[4]={NUM-1,NUM-1,0,1}; \/*i为行号,j为列号,k当前填的数...

相似回答