求这道c语言题目的解析

 我来答
nbyh2012
2013-06-16 · TA获得超过3278个赞
知道小有建树答主
回答量:483
采纳率:100%
帮助的人:821万
展开全部
第一层循环会进行3次,i的值依次为3、2、1。第二层循环和i无关,所以程序会输出3行,排除答案A和B。
将i=3带入第二层循环,当j=1时,i+j=4,第一个输出的字符为4。
所以答案是D
test_pop
2013-06-16 · TA获得超过376个赞
知道小有建树答主
回答量:332
采纳率:100%
帮助的人:246万
展开全部
答案是D吧
#include <stdio.h>

int main()
{
int i, j;

for(i=3; i>=1; i--)//外层循环3次基值i=3->i=2->i=1

{
for(j=1; j<=2; j++) //内层循环2次
{

printf("%d", i+j); //内存循环只执行这一句i+j

}

printf("\n");//外层循环一次打一个换行,所以是3行

}

return 0;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金色潜鸟
2013-06-16 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:6008万
展开全部
D).
i 循环 i=3;j=1 到 2 打出 4 5 打印1次 换行
i=2 j=1 到 2 打出 3 4 打印1次 换行
i=1 j=1 到 2 打出 2 3 打印1次 换行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无敌Joran
2013-06-16 · TA获得超过377个赞
知道答主
回答量:153
采纳率:0%
帮助的人:108万
展开全部
选D 当i==3 时i大于1 所以进入下一个循环j==1 要求小于等于2 所有j有两种选择 1 和2 3+1=4 3+2=5 j循环结束后 换行,接着又到i循环 i变成 2 这分析跟上面一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尼拉卓尔
2013-06-16 · TA获得超过466个赞
知道小有建树答主
回答量:161
采纳率:100%
帮助的人:173万
展开全部
答案是D
i初始化为3,i>=1成立,进入循环
j初始化为1,j<=2成立,进入子循环
i+j==4,所以输出4(空格)
j++,此时j=2,j<=2成立,进入子循环
i+j==5,所以输出5(空格)
j++,此时j=3,j<=2不成立,离开子循环
printf("\n");,输出换行符
i--,此时i=2,完成第一次主循环
//以上完成后,第一行输出的是4(空格)5(空格)

i=2满足i>=1,主循环进入第二次循环

j重新被赋值为1,j<=2成立,进入子循环
i+j=3,所以输出3(空格)
j++,此时j=2,j<=2成立,进入子循环
i+j=4,所以输出4(空格)
j++,此时j=3,j<=2不成立,离开子循环
printf("\n");,输出换行符
i--,此时i=1,完成第二次主循环
//以上完成后,第二行输出的是3(空格)4(空格)

i=1满足i>=1,主循环进入第三次循环

j重新被赋值为1,j<=2成立,进入子循环
i+j=2,所以输出2(空格)
j++,此时j=2,j<=2成立,进入子循环
i+j=3,所以输出3(空格)
j++,此时j=3,j<=2不成立,离开子循环
printf("\n");,输出换行符
i--,此时i=0,完成第三次主循环
//以上完成后,第三行输出的是2(空格)3(空格)

i=0不满足i>=1,离开主循环,程序结束
综上,程序最后输出结果为

4(空格)5(空格)
3(空格)4(空格)
2(空格)3(空格)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式