在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");
}
展开
 我来答
naletive
2012-09-21 · TA获得超过1021个赞
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:131万
展开全部
如果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
1548669491
2012-09-19 · TA获得超过317个赞
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:107万
展开全部
首先输出初始值c1=‘0’,c2='9',然后c1执行++运算实际上是其对应的ASII码执行++运算,c2执行--亦是同理,循环终止条件是c1++到c1=‘4’,c2--到c2=‘5’,输出后,若再执行,c1=‘5’,c2=‘4’,不满足c1《c2,循环结束
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我是他的黑妞
2012-10-01
知道答主
回答量:24
采纳率:0%
帮助的人:14.3万
展开全部
运行结果是: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输出来了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式