武林外传挣钱:多谢大家咯

来源:百度文库 编辑:高考问答 时间:2024/04/30 22:08:06
以下的程序可以不用第三个变量,实现两个数的对调的操作~
#include<stdio.h>
main()
{ int a,b;
scanf ("%d%d",&a,&b);
printf("a=%db=%d\n",a,b);
a=-------;b=------------;c=--------------;
printf("a=%db=%d\n",a,b);
}
答案是a+b,a-b,a-b,为什么啊?

如果知道C语言的赋值操作就能懂了,但是最后一句可能写错了,而且不应该有声明变量c,源程序如下,答案写在注释中。(希望你能看懂)
#include<stdio.h>
main()
{ int a,b;
scanf ("%d%d",&a,&b);
printf("a=%db=%d\n",a,b);
a=a+b; //这里a已经赋值为a+b;以后的a都是a+b
b=a-b; //所以这里的b=(a+b)-b=a;,以后的b都是a
a=a-b; //所以这里的a=(a+b)-a=b;a赋值结束
printf("a=%d b=%d\n",a,b);//这时候的a就为b,b就为a
}

foolishf2004不会提交个问题就闪人吧。深表同情+B4