C语言 while(++y) while(--y) while(y++) while(y--)分别什么意思

 我来答
百度网友4ef2217
2015-04-09 · 超过21用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:36.6万
展开全部
++y 和 --y都是在 先进行自加或自减后,在进入while循环中判断。
y++和 y--是先进行while循环中判断后,在对y的值进行加减。
举个例子:当y = 0时候, while(y++)和 while(y--)并不会进入循环,而在前的会。
y=-1 while(++y) 不会进入循环,
y = 1; while(--y)不会进入循环。
望采纳。
追问
如果 int y=10 
do{y--;} while(--y);
printf("%d\n",y--);
执行过程:y=9 while(8) y=7 while(6) y=5 while(4) y=3 while(2) y=1 while(0) 然后不满足条件 不继续执行了 此时输出0 但是输出后y的值其实是-1对不对
如果 int y=10 
do{y--;} while(--y);
printf("%d\n",y--);
执行过程:y=9 while(8) y=7 while(6) y=5 while(4) y=3 while(2) y=1 while(0) 然后不满足条件 不继续执行了 此时输出0 但是输出后y的值其实是-1对不对
坐标X
推荐于2016-06-24 · TA获得超过713个赞
知道小有建树答主
回答量:1139
采纳率:75%
帮助的人:641万
展开全部
每做完一次循环y这个变量进行自加或者自减,其中++y是做循环体前对变量y加一,y++是做完循环后对变量y加一,--y与++y类似,在做循环前变量y减一,y--同类似y++,在做完循环后对y减一。
更多追问追答
追问
如果 int y=10 
do{y--;} while(--y);
printf("%d\n",y--);
执行过程:y=9 while(8) y=7 while(6) y=5 while(4) y=3 while(2) y=1 while(0) 然后不满足条件 不继续执行了 此时输出0 但是输出后y的值其实是-1对不对
追答
对的,判断y的时候y的值已经是0了,因此不会执行do循环体,因此y的值是0,不是-1.在执行一次y--后就变为-1了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最终幻夜
2015-04-09 · TA获得超过119个赞
知道小有建树答主
回答量:67
采纳率:0%
帮助的人:68.9万
展开全部
while(++y)和while(--y) 是分别先对y加一减一 然后再进行逻辑判断 如果为0则退出循环否则循环继续
while(y++)和while(y--) 是先进行逻辑判断 如果为0则退出循环否则循环继续,然后再对y加一减一
更多追问追答
追问
如果 int y=10 
do{y--;} while(--y);
printf("%d\n",y--);
执行过程:y=9 while(8) y=7 while(6) y=5 while(4) y=3 while(2) y=1 while(0) 然后不满足条件 不继续执行了 此时输出0 但是输出后y的值其实是-1对不对
追答
是的   其实你可以在后面再输出一个y就可以看到结果了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旅春冬TJ
2015-04-09 · TA获得超过1082个赞
知道大有可为答主
回答量:1271
采纳率:66%
帮助的人:509万
展开全部
其实这就是连加操作符前置和后置的区别
对于前置比如++y,--y表示首先对变量y先进行加1或者减1操作,之后使用变量y的值,y--和y++与之相反。
加上while之后就就是判断当前的y是不等于0如果是则进入循环,否则退出循环。
追问
如果 int y=10 
do{y--;} while(--y);
printf("%d\n",y--);
执行过程:y=9 while(8) y=7 while(6) y=5 while(4) y=3 while(2) y=1 while(0) 然后不满足条件 不继续执行了 此时输出0 但是输出后y的值其实是-1对不对
追答

对的。

#include<iostream>
using namespace std;
int main(){
int y = 10;
do{ y--; } while (--y);
printf("%d\n", y--);
printf("%d\n", y);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苦涩无人爱
2015-12-03 · TA获得超过221个赞
知道小有建树答主
回答量:86
采纳率:100%
帮助的人:57.9万
展开全部
while()是循环语句,t是判断条件,当t为真或非0的话,执行循环,否则退出循环,比如t=1,循环会持续执行,t=0则退出循环,或者 t 可以是其他判断语句,满足ture时执行循环,为false则退出循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式