第1个回答 2008-05-10
1.下面程序运行结果是
a=1;b=2;c=2;
while(a<b<c){t=a;a=;b=t;c--;}
printf("%d,%d",%d,a,b,c);
while语句不会执行,因为a<b的值为1,1<c=0,
所以输出还是原值.1,2,2
2下面程序运行结果是
x=y=0;
while(x<15) y++, x+=++y;
printf("%d,%d",y,x);
x每次循环的结果都是x=x+y,每执行一次y就自增两次,也就是y=y+2;
当x<15时结束循环.
输出结果为8,20;
3下面程序运行结果是
int n=0;
while(n++<=2);printf("%d",n);
while循环体为空,但在表达试里n自增,从0开始,n++是先判断再自增,直到n=4时退出循环,所以输出结果4;
第2个回答 2008-05-10
1答:先判断a<b,结果为真,则是1 再判断1<c 为真,则执行循环
第一次循环后a,b值对调,就是a=2,b=1; c--后,c就等于1了
再重复上面的判断方法:这次是a<b为假,则为0, 而0<c还是为真,因为c=1的,再执行循环体,执行完后:a=1,b=2,c=0;
第三次判断a<b为真,则为1,而c=0了,所以1<c条件为假了,不执行后面的语句,不会再把a和b的值交换,退出循环。
这个时候输出的结果为a=1 b=2 c=0