c语言以下程序的输出结果是852
楼主抄错题目了吧,我想第一题应该是
题目1:
以下程序的输出结果是(只保留主要代码)
①int i, a[10];
②for(i=9;i>=0;i--) a[i]=10-i;
③printf("%d%d%d\n",a[2],a[5],a[8]);
----------------------------------------
语句②执行循环之后,数组a中依次存放内容为
a[9]=1 a[8]=2 a[7]=3 a[6]=4 a[5]=5
a[4]=6 a[3]=7 a[2]=8 a[1]=9 a[0]=10
由此可知打印出来结果为852
-----------------...全部
楼主抄错题目了吧,我想第一题应该是
题目1:
以下程序的输出结果是(只保留主要代码)
①int i, a[10];
②for(i=9;i>=0;i--) a[i]=10-i;
③printf("%d%d%d\n",a[2],a[5],a[8]);
----------------------------------------
语句②执行循环之后,数组a中依次存放内容为
a[9]=1 a[8]=2 a[7]=3 a[6]=4 a[5]=5
a[4]=6 a[3]=7 a[2]=8 a[1]=9 a[0]=10
由此可知打印出来结果为852
----------------------------------------
题目2:
以下程序输出的结果是:(只保留主要代码)
①char st[20]="hello\0\t\\";
②printf("%d\n",strlen(st));
----------------------------------------
执行语句①之后,字符串数组st中的内容为:
st[0]='h' st[1]='e' st[2]='l' st[3]='l' st[4]='o'
st[5]=0x0(注意是数值0,表示字符串结束)
st[6]='\t'
st[7]='\\'。
。。后面的不用关心了。。。
strlen计算的是字符串长度,而字符串是以0结尾的,
计算字符串长度的时候不计算结尾的那个0(数值0而
不是字符0,字符0的数值为0x30也就是48)
所以结果应该为5。
----------------------------------------
下次记得问问题的时候把题目写全,不是每个人都能猜出来的。收起