C语言:while(--y)什么意思

inty=10;do{y--}while(--y);printf("%d\n",++y)结果为1,我晕了,求C语言大神解救⊙﹏⊙... int y=10;
do{y--}while(--y);
printf("%d\n",++y)
结果为1,
我晕了,求C语言大神解救⊙﹏⊙
展开
 我来答
一叹t
高能答主

2021-01-14 · 我们不创作,我们只是信息的搬运工。
一叹t
采纳数:2138 获赞数:11974

向TA提问 私信TA
展开全部

while(--y)表示的意思是在进行条件的判断时,先对y进行减1的操作。整段代码的意思是先对y进行减法的操作,直到y减到0的时候退出while循环。

然后执行后面的输出语句,因为输出的是++y,++当前缀操作符时,先加1再引用。所以输出结果为1。

do...while 循环是 while 循环的变体。在检查while()条件是否为真之前,该循环首先会执行一次do{}之内的语句,然后在while()内检查条件是否为真。

如果条件为真的话,就会重复do...while这个循环,直至while()为假。

扩展资料:

do while 难点不大,主要是避免进入死循环,条件表达比较开放,只要符合逻辑,条件表达真假,并注意全局半局变量。

do-while 循环语法 格式:

do

{

循环体;

}

while (条件表达); //条件表达,可以引用外传感器返回值

do while循环特点:

循环将先运行一次,因为经过第一次do循环后,当检查条件表达式的值时,其值为 不成立时而会退出循环。保证了至少执行do{ }内的语句一次。

参考资料来源:百度百科-do while

储念文承瀚
2019-10-18 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:25%
帮助的人:717万
展开全部
while()是循环语句,当括号内的值为1时,执行循环语句,为0时,不执行循环语句。
“!”是取反的意思。
所以,while(!y)的意思就是,当y=0时,取反后
!y=1,故执行循环语句,当y=1时,取反后
!y=0,故不执行循环语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
祁水竹糜钊
2019-12-17 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:784万
展开全部
其实这就是连加操作符前置和后置的区别
对于前置比如++y,--y表示首先对变量y先进行加1或者减1操作,之后使用变量y的值,y--和y++与之相反。
加上while之后就就是判断当前的y是不等于0如果是则进入循环,否则退出循环。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
司空绿夏哈鸾
2020-04-28 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:796万
展开全部
while(++y)和while(--y)
是分别先对y加一减一
然后再进行逻辑判断
如果为0则退出循环否则循环继续
while(y++)和while(y--)
是先进行逻辑判断
如果为0则退出循环否则循环继续,然后再对y加一减一
再看看别人怎么说的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
长孙贤淑齐虹
2019-10-25 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:894万
展开全部
while(++y)和while(--y)
是分别先对y加一减一
然后再进行逻辑判断
如果为0则退出循环否则循环继续
while(y++)和while(y--)
是先进行逻辑判断
如果为0则退出循环否则循环继续,然后再对y加一减一
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式