关于C语言基础的问题,要求解过程10

来源:百度知道 编辑:UC知道 时间:2024/06/13 15:26:46
分析输出结果是多少,为什么?
main()
{ int a,b,c;
for(a=3,b=0;!a==b;a--,b++)
if(a>b) {t=a;a=b;b=t;}
printf("%d,%d",a,b); }

输出:-1,4
分析:
1.在for循环中对a和b赋值,a=3,b=0.在if语句判断时,a>b,所以执行{t=a;a=b;b=t;} ,交换了a和b的值,此时a=0,b=3.
2.此时进行第二次for循环,a--,b++后,a=0-1=-1,b=3+1=4;在if语句判断时,a>b,所以此时循环结束,跳到printf("%d,%d",a,b);语句,输出-1,4

a=1 b=2

for运行后a=2 b=1

然后 设一个中间量T 相当于temp

结果:
a b
-1 4
我刚才看错了

这个程序是要做什么啊?我怎么觉得那么怪啊.解释了半天发现要不就是你写错了,要不没有什么实际意义...