请教各位这道c语言题为何选D?谢谢

如题所述

j可以得到的范围是0 1 2 第二个循环就是实现这个的,经过i=0 实现了三个1 然后i=1 内层循环j=0 1 2 又分别加了1 …第三次… 所以最后得到的就是3 3 3

不明白欢迎追问
望采纳
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-18
第一个for语句循环结束后,数组n0=n1=n2=0,完成初始化。
k=2后,有一个双循环,外循环i=0-1循环两次:
第一次外循环i=0:
内循环j=0-1也是循环两次,它是给n0和n1赋值,赋值过程是:n0=n0+1=0+1=1;n1=n0+1=1+1=2;
第二次外循环i=1:
内循环j=0-1还是循环两次,它又给n0和n1赋值,赋值过程是:n0=n1+1=2+1=3;n1=n1+1=2+1=3;
循环完毕。接下来输出a1的值,即输出3。是选项D。
如有不清楚之处,请留言。
第2个回答  2019-04-18

    第一个for循环使n[0]=n[1]=n[3]=0。

    第二个for是二层嵌套,i=0时n[j=0]=n[i=0]+1=0+1==1;n[j=1]=n[i=0]+1=1+1==2。i=1时n[j=0]=n[i=1]+1=2+1==3;n[j=1]=n[i=1]+1=2+1==3。毕。

关键是j和i为下标的数组是同一个数组……

本回答被提问者采纳