C++中的数字判断大小

来源:百度知道 编辑:UC知道 时间:2024/05/07 11:51:29
int a,b,c;
scanf("%d%d",&a,&b);
if(a>b)
c=a;
a=b;
b=c;
下面的三个赋值是怎么运算的 那位高手指点一下。

int a,b,c;
scanf("%d%d",&a,&b);
if(a>b)
{
c=a; //如果a>b将a的值赋值给c(这里也正如楼上说的:其中要借助中间变量c来做转接)
a=b; //然后再将b的值赋值给a(以前的值被覆盖掉了,所以现在a的值就是b的值)
b=c; //再将c的值(以前a值)赋值给b 这样就达到了两个变量值互换的目的
//(结果永远是小的在前在的在后)
}

应该加上大括号
int a,b,c;
scanf("%d%d",&a,&b);
if(a>b)
{
c=a;
a=b;
b=c;
}
括号内的是a、b数值交换,c是个中间变量,最后结果永远是a<b.

楼上的对!
但,最后结果是a<=b
输入两个数,如果第一个数大于第二个数,则交换两个数;否则不处理。

int a,b,c;
scanf("%d%d",&a,&b);
if(a>b)
{
c=a;
a=b;
b=c;
}
应该加上中括号,这样if分句里面的语句才会完整执行,
语句的意思就是,如果a>b的话,就把a,b的值互换。当然其中要借助中间变量来做转接。