C语言类型, 此题为什么答案是-1? while(y--)是到0停止运行???

main(){inty=10;while(y--);printf("y=%d\n",y);}... main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}
展开
 我来答
百度网友83cdc1c
2015-06-29 · TA获得超过5790个赞
知道大有可为答主
回答量:1907
采纳率:100%
帮助的人:831万
展开全部
当y--的表达式的值为0时,退出循环。
y--是先判断y的值,再执行减1操作,所以只有当y等于0时,while(y--)才会退出循环,而退出循环时,y又执行了减1操作,所以变成了-1,最终输出是:y=-1
kaixingui2012
推荐于2016-10-16 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6302万
展开全部
while(y--)是y--的结果达到0停止运行
y--因为是后缀自减,所以,其运算结果是返回减1之前的y值,即当y为0时,循环结束,但,因为有自减运算,所以,最终结果,y为-1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式