一个while死循环问题

#include<stdio.h>main{inty=10;while(y--);printf("Y=%d\n",Y)}程序执行最后的输出结果是A.y=0b.y=-1c.... #include<stdio.h>
main
{int y=10;
while(y--);
printf("Y=%d\n",Y)
}
程序执行最后的输出结果是
A .y=0 b.y=-1 c.y=1 d. while构成无限循环
这是个死循环吗?
疑问:1:当while执行y=0时为假直接跳出
2。就算要构成无限循环,也是要int为无符号unsign int 类型啊,int 默认的不是有符号的吗? 求高手解答 谢谢

}
展开
 我来答
chiconysun
2011-01-04 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2613万
展开全部
不是死循环,最后y=-1,的确是y为0跳出,是否死循环与有无符号无关
zengheng810
2011-01-04 · TA获得超过155个赞
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
程序不是死循环,输出结果为 Y=-1;
y--的意思是:先返回y的值,然后y减1;
当y=0的时候,while(y--) 中 y--的返回值是0,跳出循环,同时y减1
疑问1:当while执行y=0时跳出
2:int默认的是有符号的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落月Prc
2011-01-04 · TA获得超过2789个赞
知道大有可为答主
回答量:2011
采纳率:100%
帮助的人:2443万
展开全部
答案不是b吗?
while在y=0时为假跳出循环,然后执行y--,所以y=-1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weilenio
2011-01-04 · 超过25用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:55.7万
展开全部
这不是个死循环,while语句起一定的延时作用而已
另外输出y=-1 因为y-- 是后减操作
故在while语句里面先判断y的值,后相减
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式