c语言题目~求解!!
#include“stdio.h”main(){inta=3;do{printf("%d,",a-=2);}while(!(--a));printf("\n");}程序运...
#include“stdio.h”
main()
{ int a = 3;
do { printf("%d,", a-=2 ); }
while( ! (--a) );
printf("\n");
} 程序运行后的输出结果是
A.1, -2, B.1, C.3,0, D.1,0
求具体步骤,A是怎么来的? 展开
main()
{ int a = 3;
do { printf("%d,", a-=2 ); }
while( ! (--a) );
printf("\n");
} 程序运行后的输出结果是
A.1, -2, B.1, C.3,0, D.1,0
求具体步骤,A是怎么来的? 展开
6个回答
展开全部
#include"stdio.h"
void main()
{ int a = 3;
do{
printf("%d,", a-=2 ); //一开始初始化a=3; 故a=3-2; a=1;然后判断while(!(--a))此时a=0故 !0=1 为真while循环继续循环 此时a=0,a=0-2;故得a=-2;判断while(!(--a)),此时!(-3)=0 while循环结束。
}
while( ! (--a) );
printf("\n");
}
void main()
{ int a = 3;
do{
printf("%d,", a-=2 ); //一开始初始化a=3; 故a=3-2; a=1;然后判断while(!(--a))此时a=0故 !0=1 为真while循环继续循环 此时a=0,a=0-2;故得a=-2;判断while(!(--a)),此时!(-3)=0 while循环结束。
}
while( ! (--a) );
printf("\n");
}
展开全部
执行printf("%d,", a-=2 );后,输出1,且a = 3 - 2 = 1
(--a)后,a = 0,!0 = 1,继续while循环。
执行printf("%d,", a-=2 );后,输出-2,且a = -2 - 2 = -4
(--a)后,a = -5,!-5 = 0,结束while循环。
最后执行printf("\n");故代码输出为
1,-2
(--a)后,a = 0,!0 = 1,继续while循环。
执行printf("%d,", a-=2 );后,输出-2,且a = -2 - 2 = -4
(--a)后,a = -5,!-5 = 0,结束while循环。
最后执行printf("\n");故代码输出为
1,-2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一次 :printf(a=3-2) :1,
然后 a==1;
while(!(--1)) 即 a=--1;a=0; 所以 !a为真
然后 a==0;
第二次:printf(a=0-2) :-2
然后 a==-2;
while(!-3)为假 循环退出
然后 a==1;
while(!(--1)) 即 a=--1;a=0; 所以 !a为真
然后 a==0;
第二次:printf(a=0-2) :-2
然后 a==-2;
while(!-3)为假 循环退出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf("%d,", a-=2 );
中输出a的值将a-2了 即为1
while( ! (--a) )中是--a是先进行判断再减 即while(!(1)); 继续循环
该语句结束后发生--a; a为0
然后再进行循环
a-=2 输出-2
至于如何退出循环 表示不理解
看看--a和a--的区别吧
中输出a的值将a-2了 即为1
while( ! (--a) )中是--a是先进行判断再减 即while(!(1)); 继续循环
该语句结束后发生--a; a为0
然后再进行循环
a-=2 输出-2
至于如何退出循环 表示不理解
看看--a和a--的区别吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
过程:
a=3;
2.执行a-=2,之后a=1·,并输出1;
3.之后,执行--a,之后a=0
4.继续do之中的语句,a=-2并输出
5.while条件不成立。结束。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a-=2的意思是a=a-2,do while 循环,先进行运算,再判断,所以先输出a-=2的值为1,while(!(--a))意思是a先自减1,然后a=0;因为!(--a)
所以while中条件不为零,然后,继续循环,此时a=0,然后a-=2,为a=0-2=-2,所以结果为1,-2;
所以while中条件不为零,然后,继续循环,此时a=0,然后a-=2,为a=0-2=-2,所以结果为1,-2;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询