
c语言 程序计算题
voidmain(){inta,b,c,t;a=1;b=2;c=2;while(a<b<c){t=a;a=b;b=t;c--;}printf("%d,%d,%d,",a,...
void main()
{
int a,b,c,t;
a=1;
b=2;
c=2;
while( a < b < c )
{ t=a;
a=b;
b=t;
c--;
}
printf ( " %d,%d,%d, " ,a,b,c );
}
求计算过程 展开
{
int a,b,c,t;
a=1;
b=2;
c=2;
while( a < b < c )
{ t=a;
a=b;
b=t;
c--;
}
printf ( " %d,%d,%d, " ,a,b,c );
}
求计算过程 展开
展开全部
过程如下:
1, 这个题目的陷阱在于while的循环条件:a<b<c,a<b即1<2=1,1<c即1<2=1,所以执行循环体:t=a; a=b; b=t; c--; ;执行完后,a和b的值交换,c的值减1,得到:a=1,b=2,c=1,进入下次循环条件判断
2.第二次循环条件判断:a<b即2<1=0,0<c即0<1=1,继续执行循环体:t=a; a=b; b=t; c--; ;循环完成后,得到:a=1,b=2,c=0,进入下次循环条件判断
3.第三次循环条件判断:a<b<c,a<b即1<2=1,1<c即1<0=0,循环条件不成立,跳过循环体,执行printf ( " %d,%d,%d, " ,a,b,c );,输出结果为:1,2,0,
1, 这个题目的陷阱在于while的循环条件:a<b<c,a<b即1<2=1,1<c即1<2=1,所以执行循环体:t=a; a=b; b=t; c--; ;执行完后,a和b的值交换,c的值减1,得到:a=1,b=2,c=1,进入下次循环条件判断
2.第二次循环条件判断:a<b即2<1=0,0<c即0<1=1,继续执行循环体:t=a; a=b; b=t; c--; ;循环完成后,得到:a=1,b=2,c=0,进入下次循环条件判断
3.第三次循环条件判断:a<b<c,a<b即1<2=1,1<c即1<0=0,循环条件不成立,跳过循环体,执行printf ( " %d,%d,%d, " ,a,b,c );,输出结果为:1,2,0,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询