永发信息网

C语言do....while语句问题,帮帮忙,谢谢啦

答案:4  悬赏:70  手机版
解决时间 2021-04-11 01:42
  • 提问者网友:绫月
  • 2021-04-10 19:37

int x=3;
do
{  printf("%3d",x-=2); }
while(!(- -x));

以上语句是怎样执行的?说详细点哦

最佳答案
  • 五星知识达人网友:青灯有味
  • 2021-04-10 20:48

步骤:x=3; --> 执行printf("%3d",x-=2);-->此时的x的值为1,打印出1,因为x-=2等价于x=x-2。-->判断


while()的表达式是否为真,因为“--”运算符优先级大于“!”逻辑非运算符,所以x先自减,这时候的x=0,进行逻辑非运算后,!0的值为1,所以条件为真再次执行printf("%3d",x-=2),上一次的运算可以得知x的值已经为0既x=0;所以这次打印出-2,然后进行条件判断,!(-2)的值为0,条件不成立,退出循环。


do{ 循环体 }while( 条件判断 ) 循环简单的说就是先执行循环体,再进行条件判断,条件成立则继续执行循环体,不成立则退出循环;


它与while( 条件判断 ){ 循环体 }相反,while(条件判断) 是先进行条件判断,再执行循环体


两者的差别是不管条件成不成立,do{...}while()的循环体最少也执行了一次,而while()里的循环体则不一定了。

全部回答
  • 1楼网友:患得患失的劫
  • 2021-04-10 23:44

1,先执行int x=3,

2,执行printf(“%3d”,x-=2)

3,因为第一次执行时x=1,又因为如果!(--x)=0就又执行printf(“%3d”,x-=2)

直到!(--x)=1就不做而结束循环。

  • 2楼网友:鱼芗
  • 2021-04-10 22:12

int x=3; do {  printf("%3d",x-=2); } while(!(- -x));

先执行输入语句输入x自减2之后的值1

在执行x自减判断是否为真,为真则继续执行,否则推出循环

反复执行,知道--x为假

  • 3楼网友:人類模型
  • 2021-04-10 20:54

1、执行int x=3; 2、执行printf("%3d",x-=2) //用三位位置显示x,x=x-2

3、判断(!(- -x)) //如果--x不等于0

4、如果成立则回到2,否则结束循环

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯