c语言问题 很简单的

[复制链接]
查看11 | 回复4 | 2008-6-15 18:25:18 | 显示全部楼层 |阅读模式
y=10
while(y--)
printf("y=%d",y)
输出为什么为-1

回复

使用道具 举报

千问 | 2008-6-15 18:25:18 | 显示全部楼层
可能你的while循环是一个空循环,执行while语句时,Y一直在自减,知道减到0为止,退出循环。而你的--在Y后面,是先执行再自减,当Y减到0时,条件不满足,退出循环,再Y自减。Y就为-1了
回复

使用道具 举报

千问 | 2008-6-15 18:25:18 | 显示全部楼层
应该是while(y--);printf("y=%d",y);吧while是循环当y--不等于0时执行一个空语句,当y--为0时执行printf("y=%d",y);所以输出是-1
回复

使用道具 举报

千问 | 2008-6-15 18:25:18 | 显示全部楼层
whlie(y--),当y不等于0时,有题中所述,输出一空语句;当y=0时,条件不成立,输出y,而y被执行一次,被使用,所以自减,为-1,因此输出为-1
回复

使用道具 举报

千问 | 2008-6-15 18:25:18 | 显示全部楼层
怎么都没分号?写详细一点好吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行