C语言,要比较数字的大小,但是结果是错的,请问代码错哪里了

#include <stdio.h>
swap(int e,int f)
{
int pointer;
if(e<f)
{
pointer =e;
e=f;
f=pointer;
}
return(e,f);
}
exchange(int g,int h,int i)
{

if(g<h)
{
swap(g,h);
}
if(g<i)
{
swap(g,i);
}
if(h<i)
{
swap(h,i);
}
return(g,h,i);
}

void main()
{
int p_a,p_b,p_c,a,b,c;
scanf("%d %d %d", &a, &b, &c);
exchange(a,b,c);
printf("\n%d>%d>%d\n",a,b,c);
}

#include <stdio.h>
swap(int &e,int &f)
{
int pointer;
if(e<f)
{
pointer =e;
e=f;
f=pointer;
}
return(e,f);
}
exchange(int &g,int &h,int &i)
{

if(g<h)
{
swap(g,h);
}
if(g<i)
{
swap(g,i);
}
if(h<i)
{
swap(h,i);
}
return(g,h,i);
}

 main()
{
int p_a,p_b,p_c,a,b,c;
scanf("%d %d %d", &a, &b, &c);
exchange(a,b,c);
printf("\n%d>%d>%d\n",a,b,c);
}

温馨提示:内容为网友见解,仅供参考
无其他回答

c语言,求两个数中的较大者。为什么总是有错?
scanf("%d%d",&a,&b);\/\/这里本来是有逗号的,输入的时候中间要加逗,这是初学者常范的错误,我已经把逗号去掉,这样的话中间加空格就行了。你如果把逗号加上的话,输入要用1,2这种格式的,而且要注意逗号要英文的 c=max(a,b);printf("max is %d\\n",c);} int max(int x,int y){ ...

c语言(大小比较),每次只输出a的值,我估计是max函数出了问题,却不知道错...
一、错误并不在程序中,而是你的输入有问题。输入时在两个数字之间加一个逗号即可。程序中,scanf语句中写的是“%d,%d”,这就要求你在输入时,两个数字之间也要加一个逗号,写成“12,23”,才能正确输入a与b的值,你输入时丢了逗号,使b不能正确输入23的值,所以得到看似错误的结果。二、你把程...

C语言比较数值大小
这段代码是错的,应该把两个if里面的a改成max

c语言问题 输入两个数 比较其大小 将较大的数输出 如图 为什么会这样...
你要知道,scanf函数内引号部分和printf是一样的,你的两个%f之间没有任何字符,理论上来说应该用空格隔开(输入时也用空格隔开)或者是用逗号隔开(输入时也用逗号隔开)两个数,当然,用于隔开的可以是一长串字符(你输入两个数中间也得这样)。总之就是原样照搬。至于你这个,我也不好解释,两个没...

一个C语言里比大小的小问题
补充1:关于第一点,同时输入三个数是可以的,但你的写法是错的 应该把()里面的“,”号去掉换成空格,或干脆空格也不要 scanf("%f%f%f",&a,&b,&c);这样是对的 补充2:关于第二点,我收回我的猜测,我的猜测是错的- -

c语言小白,请问为什么我的这段代码输出结果不正确?应该怎么改呢?求具...
1、这一块统计数量的代码其实老实说我都没看懂是什么意思,但是我测试了,输入13能统计出来是2,但是输入12345的时候统计就错了,这段并不能数出3来。2、第17行有问题,你每次循环都把max赋值为Num[0],按照你的代码来,输入13时,Num[0]的值为0,所以max初始值总是0,而且Num[9]也是0,所以...

c语言题目 转换大小写 程序纠错 哪里错了?
错误如下:第一处:for(i=0;str[i]<80;i++) 里面这个条件str[i]<80是错误的,这里是要判断str是否已经结束,所以应该写str[i]!='\\0',即for(i=0;str[i]!='\\0';i++)第二处:if('a'<=str[i]<='z'),在C里没有这样的写法,应该是if('a'<=str[i] && str[i]<='z')...

为什么C语言,我输一个数字进算法,结果没反应?看看哪错了
scanf("%d\\n",&x); 把这里面的\\n去掉。scanf的双引号里面是格式输入,你必须按照规定的样子输入,这样你每次输入回车就只是被录入输入的数据中,而不能退出输入。还有你声明的是double类数据,格式化输入输出应该为%lf,不是%d,不然输出结果都转换成整型了。

C语言纠错,求问这个代码为什么是错的
楼主你好!你的代码有3个地方有问题!第一,while(n>0)这里如果是这样,请问-123456,你怎么可能还能计算???第二,if(x%2!=0) a[i]=x; i++;这里,即使x是偶数,你i也++,显然不正确!第三,for(y=0;y<=i;y++)里面i怎么可能等于y,根据你上面的计算,i应该是统计奇数的个数,...

...错在哪里帮我改一下啊 没有错但是运行结果是错的 谢谢谢谢
b*\/ if(a == 0){ if(b == 0){ if(c == 0)printf("参数都为零,方程无意义!\\n");else printf("a和b为0,c不为0,方程不成立\\n");} else printf("x = %0.2f\\n", -c\/b);} 根号下b方减去4ac,a=0,b=0,参数就都为零了,c就算不为零又有什么用?仔细点,小伙 ...

相似回答