
求这道c语言题目的解析
5个回答
展开全部
第一层循环会进行3次,i的值依次为3、2、1。第二层循环和i无关,所以程序会输出3行,排除答案A和B。
将i=3带入第二层循环,当j=1时,i+j=4,第一个输出的字符为4。
所以答案是D
将i=3带入第二层循环,当j=1时,i+j=4,第一个输出的字符为4。
所以答案是D
展开全部
答案是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;
}
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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次 换行
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次 换行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选D 当i==3 时i大于1 所以进入下一个循环j==1 要求小于等于2 所有j有两种选择 1 和2 3+1=4 3+2=5 j循环结束后 换行,接着又到i循环 i变成 2 这分析跟上面一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案是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(空格)
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(空格)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询