一道C的题,求C高手帮忙

intx=3;do{printf("%3d",x-=2);}while(!(--x));还有其中的(!(--x))是什么意思是啊?... int x=3;
do
{printf("%3d",x-=2);
}
while (!(--x));
还有其中的(!(--x))是什么意思是啊?
展开
 我来答
maihx
2011-08-04 · TA获得超过210个赞
知道小有建树答主
回答量:99
采纳率:0%
帮助的人:133万
展开全部
条件表达式中以零值为假,非零值为真。当do...while后的条件表达式为真时继续循环。
“!”为逻辑非运算符,对于“!a”,即a为非零值(真)时,结果为0(假),a为零(假)时,结果为1(真)。
因而此程序中在执行第一次循环后,x自减为0,此时!x结果为1,即“真”,继续循环。执行第二次循环后,x自减为-3,此时!x结果为0,即“假”,退出循环。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
438595965
2011-08-04 · 超过17用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:47.3万
展开全部
while (!(--x))里面的(!(--x))是判断条件,当括号内的为非零就执行循环,这个程序运算顺序就是先执行一次循环体(注意此时的X值已经变成1),然后再执行(--x)(此时X=0),!0的话就再执行循环体~~接下来自己算吧~~~,反正下次运算完循环体就退出循环了~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuqian162914
2011-08-04 · TA获得超过174个赞
知道答主
回答量:80
采纳率:0%
帮助的人:42.9万
展开全部
--x是自减的意思,先减1,再执行。前面加个!是取反的意思。
如果(!(--x))不为0,则表达式为真,为0则为假
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仆白竹0k6
2011-08-04 · 超过19用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:39万
展开全部
C语言循环结构里“!“某个变量””的意思是当该变量的值不为0时。在你所说的题中“while(!- -X)”就是说当变量--X不为0时执行循环。回答完毕,希望采纳。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
捞儇瞧蓟缓阜bG
2011-08-04 · 超过12用户采纳过TA的回答
知道答主
回答量:140
采纳率:100%
帮助的人:25.8万
展开全部
int x=3;
do
{printf("%3d",x-=2);
--x;
}
while (!x);
就是这个意思。
int x=3;
do
{printf("%3d",x-=2);
--x;
}
while (x==0);
现在最通俗了,先执行do,则X-=2,得x=1;再X--,x=0; 再while (x==0),又do一次。
所以结果为1 -2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式