c语言以下程序的输出结果是852为什么
11.38 以下程序的输出结果是: main(){ int i, a[10]; for(i=1; i> int; 0; %d%d%d"} 答案是 852 为什么 11.41 以下程序输出的结果是: main() {char st[20]="hello\0\t\\\" hello\0\t\\\"} 答案是 5 为什么
楼主抄错题目了吧,我想第一题应该是 题目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。 ---------------------------------------- 下次记得问问题的时候把题目写全,不是每个人都能猜出来的。
你的代码是错误的,将完整正确的代码传上来。
您这程序能运行?int中没定义d,更不可能连续附值三次,应是a吧?光有for没printf怎么显示数
同意 “ 涅磐之空 ” 的看法 \
答:dos6.22 汇编语言 windows_xp c语言详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>