简单的C++问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 16:02:50
我才开始学C++的,这个比大小的程序,为什么不管输哪两个数,得到的都是第一个数等于第一个数
main()
{int x,y;
scanf("%d",&y);
scanf("%d",&x);
if(x=y)
{printf("%d=%d",x,y);}
else{
if(x>y)
{printf("%d>%d",x,y);}
else
{printf("%d>%d",y,x);}
}
}
哪里错了,谢谢

main()
{int x,y;
scanf("%d",&y);
scanf("%d",&x);
if(x==y)
{printf("%d=%d",x,y);}
else{
if(x>y)
{printf("%d>%d",x,y);}
else
{printf("%d>%d",y,x);}
}
}

说明:if(x==y) 才对“==是比较符”,“=”是赋值运算符。
你的上面的程序中if(x=y)是把y的值赋给了x,所以这时x的y的值都是原来y的值所以输出时 printf("%d=%d",x,y);相当于输出printf("%d=%d",y,y);

呵呵
这是初学者常犯的错误
if(x=y)错了
应该是if(x==y)

if(x=y) 这句把y赋给x了 他们就相等了if(x==y)