sum+=1 2022-02-17 02:07 采纳率: 33.3%
浏览 39
已结题

求详细解析为什么以下程序的运行结果是3200?

#include " stdio. h"

void main( )


int i;

int a[8][8]= {20 ,30 ,32 ,50 ,52,68 ,52 ,88,72,78 ,61 ,89,1,4,101,24,11,14,97,83}

for(i=0;i<6;i++)

printf(“%d”,a[i++][1+i]);

  • 写回答

4条回答 默认 最新

  • 关注
    a是8行*8列的二维数组,有64个数值, 只初始化了前面20个值,后面的默认为0, 如
        0列  1列 2列 3列 4列 5列 6列 7列
    0行: 20 ,30 ,32 ,50 ,52 ,68 ,52 ,88
    1行: 72 ,78 ,61 ,89 , 1 , 4,101 ,24
    2行: 11 ,14 ,97 ,83 , 0 , 0 , 0 , 0
    3行:  0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    4行:  0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    5行:  0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    6行:  0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    7行:  0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    
    i++ 是先返回i原本的值, 再对i加1
    循环初始i=0;
    第一次循环输出a[i++][1+i] 先i++返回 0 作为行下标,之后i加1变成 1 ,再用1+i=2作为列下标, 输出0行2列的值 32
    每次循环之后还要i++ i加1变成2 ,循环条件i<6成立,继续循环
    第二次循环输出a[i++][1+i] 先i++返回 2 作为行下标,之后i加1变成 3 ,再用1+i=4作为列下标, 输出2行4列的值 0
    循环之后还要i++ i加1变成4 ,循环条件i<6成立,继续循环
    第三次循环输出a[i++][1+i] 先i++返回 4 作为行下标,之后i加1变成 5 ,再用1+i=6作为列下标, 输出4行6列的值 0
    循环之后还要i++ i加1变成6 ,循环条件i<6不成立,结束循环
    
    最终输出 3200
    
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月25日
  • 已采纳回答 2月17日
  • 修改了问题 2月17日
  • 修改了问题 2月17日
  • 展开全部

悬赏问题

  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题