爱问知识人 爱问教育 医院库

c语言以下程序的输出结果是852为什么

首页

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
为什么

提交回答
好评回答
  • 2019-03-19 11:22:31
      楼主抄错题目了吧,我想第一题应该是
    题目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。 ---------------------------------------- 下次记得问问题的时候把题目写全,不是每个人都能猜出来的。
      

    前***

    2019-03-19 11:22:31

其他答案

    2019-03-19 10:53:42
  • 您这程序能运行?int中没定义d,更不可能连续附值三次,应是a吧?光有for没printf怎么显示数

    张***

    2019-03-19 10:53:42

  • 2019-03-19 10:43:15
  • 你的代码是错误的,将完整正确的代码传上来。

    高***

    2019-03-19 10:43:15

类似问题

换一换

相关推荐

正在加载...
最新资料 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 174-193
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):