手机连接音响:大家觉得temp=x,x=y,y=temp;写好,还是temp=x;x=y;y=temp;好?

来源:百度文库 编辑:高校问答 时间:2024/05/08 04:45:57
两种方法都是正确的!不用证明了.
但是书上写法偏好后面一种即用;不知道为什么,觉得用,也挺好的!

这之间难道有什么奥妙吗?本人见识肤浅,谢谢指点!
是的,第1种也是对的!
证明如下#include<iostream>
using namespace std;
int main()
{int x,y,z,temp;
cout<<"请输入三个数:";
cin>>x>>y>>z;
cout<<"从小到大排列顺序为:";
if(x>y){temp=x,x=y,y=temp;}/*如想证明,把,换成;即可*/
if(z>y)cout<<x<<","<<y<<","<<z;
else if(z>x)cout<<x<<","<<z<<","<<y;
else cout<<z<<","<<x<<","<<y;
cout<<endl;
return 0;}
是的,表达式的确是用分号分开,不过觉得有的完全可以不用逗号分开.
比如
int main()
{int a;int b;int c;int temp;这样写是对的.
int a,b,c,temp;不知道感觉那种更好!

后面是三个语句。而前面是一个语句且有返回值,返回的是是最后一个表达式的值,即y=temp的值。只需记住这点,便能避免发生副作用。
详细可参考谭浩强编写的《C语言程序设计》。

前一种也可以是吗?
一般在书上就是后种哟!
表达式不就是用分号隔开吗?

是temp=x;x=y;y=temp好!
没什么奥妙,只是在写法上有所不同罢了!

后种不管在哪个软件下编译都不会出错 而前者就不一定了