
一道C的题,求C高手帮忙
intx=3;do{printf("%3d",x-=2);}while(!(--x));还有其中的(!(--x))是什么意思是啊?...
int x=3;
do
{printf("%3d",x-=2);
}
while (!(--x));
还有其中的(!(--x))是什么意思是啊? 展开
do
{printf("%3d",x-=2);
}
while (!(--x));
还有其中的(!(--x))是什么意思是啊? 展开
7个回答
展开全部
条件表达式中以零值为假,非零值为真。当do...while后的条件表达式为真时继续循环。
“!”为逻辑非运算符,对于“!a”,即a为非零值(真)时,结果为0(假),a为零(假)时,结果为1(真)。
因而此程序中在执行第一次循环后,x自减为0,此时!x结果为1,即“真”,继续循环。执行第二次循环后,x自减为-3,此时!x结果为0,即“假”,退出循环。
“!”为逻辑非运算符,对于“!a”,即a为非零值(真)时,结果为0(假),a为零(假)时,结果为1(真)。
因而此程序中在执行第一次循环后,x自减为0,此时!x结果为1,即“真”,继续循环。执行第二次循环后,x自减为-3,此时!x结果为0,即“假”,退出循环。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while (!(--x))里面的(!(--x))是判断条件,当括号内的为非零就执行循环,这个程序运算顺序就是先执行一次循环体(注意此时的X值已经变成1),然后再执行(--x)(此时X=0),!0的话就再执行循环体~~接下来自己算吧~~~,反正下次运算完循环体就退出循环了~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
--x是自减的意思,先减1,再执行。前面加个!是取反的意思。
如果(!(--x))不为0,则表达式为真,为0则为假
如果(!(--x))不为0,则表达式为真,为0则为假
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言循环结构里“!“某个变量””的意思是当该变量的值不为0时。在你所说的题中“while(!- -X)”就是说当变量--X不为0时执行循环。回答完毕,希望采纳。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询