C语言问题,高手请进

#include<stdio.h>main(){intx=3;do{printf("%d\n",x-=2);}while(!(--x));}请告诉我while循环条件中!... #include <stdio.h>
main()
{
int x=3;

do
{
printf("%d\n",x-=2);
}while(!(--x));
}
请告诉我while循环条件中!(--x)是啥意思
谢谢谢谢谢!!!!!
展开
 我来答
zl46079435
2009-07-04 · TA获得超过155个赞
知道小有建树答主
回答量:226
采纳率:0%
帮助的人:143万
展开全部
进入循环
x=x-2=3-2=1 输出 1 判断条件 !(--x)=!(--1)=!(0)=1 此时x=0 (因为--x=x=x-1=0)
x=x-2=0-2=-2 输出 2 判断条件 !(--x)=!(--(-2))=!(-3)=0 不成立 退出循环

程序输出1 -2
!(--x)就是 先进行x=x-1运算 然后 !(x) 的结果只要为0就退出循环 为非零的话就继续执行循环...
silvernii
2009-07-04 · TA获得超过3638个赞
知道大有可为答主
回答量:1667
采纳率:0%
帮助的人:1606万
展开全部
--x就是x=x-1;
!x就是对x求反,x是0的话!x就是1(真),x不是0的话,!x就是0(假)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ef9af9a
2009-07-04 · TA获得超过125个赞
知道答主
回答量:54
采纳率:0%
帮助的人:50万
展开全部
循环一次x减一,知道减为零,while中条件为假,就不执行while循环了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
quickly214
2009-07-04 · TA获得超过549个赞
知道答主
回答量:96
采纳率:0%
帮助的人:105万
展开全部
其条件!(--X)这个意思就是当X=0的时候就不输出了!
所以答案自然就是:
1
-2
谢谢,希望我的答案能帮助到你!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vbtraz
2009-07-04 · TA获得超过5530个赞
知道大有可为答主
回答量:4152
采纳率:0%
帮助的人:4402万
展开全部
相当于 (--x) == 0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
barbara_chou
2009-07-04 · TA获得超过258个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:156万
展开全部
x-1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式