在C语言中,下列程序运行后输出的结果是什么,怎么运算的?
main(){charc1,c2;for(c1='0',c2='9';c1<c2;c1++,c2--);printf("%c%c",c1,c2);printf("\n")...
main( )
{
char c1,c2;
for(c1='0',c2='9';c1<c2;c1++,c2 - -);
printf("%c%c",c1,c2);
printf("\n");
} 展开
{
char c1,c2;
for(c1='0',c2='9';c1<c2;c1++,c2 - -);
printf("%c%c",c1,c2);
printf("\n");
} 展开
3个回答
展开全部
如果for(c1='0',c2='9';c1<c2;c1++,c2 - -);后面的;去掉:
09 //调整c1和c2,这时候判断1<8成立
18 //调整c1和c2,这时候判断2<7成立
27 //调整c1和c2,这时候判断3<6成立
36 //调整c1和c2,这时候判断4<5成立
45 //调整c1和c2,这时候判断5<4不成立成立,打印一个回车
最终屏幕输出为:
0918273645
如果for(c1='0',c2='9';c1<c2;c1++,c2 - -);的;不去掉,那么printf语句会等for循环结束才打印,
这个时候经过如上所述的调整,c1和c2分别变为了5和4,
所以屏幕上会打印出:
54
09 //调整c1和c2,这时候判断1<8成立
18 //调整c1和c2,这时候判断2<7成立
27 //调整c1和c2,这时候判断3<6成立
36 //调整c1和c2,这时候判断4<5成立
45 //调整c1和c2,这时候判断5<4不成立成立,打印一个回车
最终屏幕输出为:
0918273645
如果for(c1='0',c2='9';c1<c2;c1++,c2 - -);的;不去掉,那么printf语句会等for循环结束才打印,
这个时候经过如上所述的调整,c1和c2分别变为了5和4,
所以屏幕上会打印出:
54
展开全部
首先输出初始值c1=‘0’,c2='9',然后c1执行++运算实际上是其对应的ASII码执行++运算,c2执行--亦是同理,循环终止条件是c1++到c1=‘4’,c2--到c2=‘5’,输出后,若再执行,c1=‘5’,c2=‘4’,不满足c1《c2,循环结束
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
运行结果是:54
for循环中,循环条件是c1<c2,其实是0<9,可以执行;然后是c1++,c2--,分别是1<8,2<7,3<6,执行到了4<5,c1加1变为5,c2减1变为4,5<4为假跳出循环,就把54输出来了
for循环中,循环条件是c1<c2,其实是0<9,可以执行;然后是c1++,c2--,分别是1<8,2<7,3<6,执行到了4<5,c1加1变为5,c2减1变为4,5<4为假跳出循环,就把54输出来了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询