c语言输入三个数从小到大排列看我哪里错了调试时值没变

#include<stdio.h>
int max(int a,int b,int c);
main()
{
int a, b, c;
printf("qingshuru3geshu\n");
scanf("%d%d%d",&a,&b,&c);
max(a,b,c);
printf("%d%d%d\n",a,b,c);
}
int max(int a,int b,int c)
{
int t;
if(a>b)
{
t=a;a=b;b=t;
}
if(b>c)
{
t=b;b=c;c=t;
}
if(a>c)
{
t=b;c=b;b=t;
}

return a, b, c;
}

max实际使用的是传参,而不是传地址。
max中的参数a,b,c实际是形式参数,是局部变量,只存在于max中。
main中的a,b,c并不会因为max中的变化而变化。
先仔细看看C语言程序设计中的参数传递,和函数调用的关系吧。
我觉得这里就算是有人给你正确的答案,也是没有意义的,因为书看少了。
另外,max的return,你编译能正确,但实际返回的是a的值。C语言没有这种多返回的功能。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-11-17
因为你没把a,b,c三个数的地址传递过去啊,建议去看下引用传参和地址传参

c语言输入三个数从小到大排列看我哪里错了调试时值没变
先仔细看看C语言程序设计中的参数传递,和函数调用的关系吧。我觉得这里就算是有人给你正确的答案,也是没有意义的,因为书看少了。另外,max的return,你编译能正确,但实际返回的是a的值。C语言没有这种多返回的功能。

C语言,输入3个数,按由小到大的顺序输出,我这是错在哪了
写了一个通用性的排序程序,对任意个整数排序,只需要改变宏定义中N的值 就行,希望你能采纳!

怎样用C语言写3个数从小到大排列的程序
include <stdio.h>#include <stdlib.h>\/\/返回两者中较大数int max(int a,int b){ return a>b?a:b;}\/\/返回两者中较小数int min(int a,int b){ return a

...描述对于输入的任意三个整数,将它们按从小到大的顺序输出?
1、输入三个整数x,y,z,请把这三个数由小到大输出。2、所需要的开头代码,#include "stdio.h"#include "conio.h",预处理命令,表示程序包含conio.h库文件conio.h库文件定义了通过控制台进行数据输入和数据输出的函数。3、下面这个代码是关键 int x,y,z,t; scanf("%d%d%d",&x,&y,&z)...

c语言输入三个数要求输出最大值和最小值 这个程序哪里有问题啊 为什 ...
格式字符串中不要使用逗号作分隔符,这是不好的习惯。使用"%f%f%f"字符串,输入的每个数字之间以空格或回车分隔。

C#编程 输入三个整数 按从小到大排列输出
if(*q1>*q2)swap(q1,q2);if(*q1>*q3)swap(q1,q3);if(*q2>*q3)swap(q2,q3);} void main(){ void exchange(int *q1,int *q2,int *q3);void swap(int *a,int *b);int a,b,c,*p1,*p2,*p3;scanf("%d,%d,%d",&a,&b,&c);p1=&a;p2=&b;p3=&c;exchange(p1,p2,p3...

c语言输入3个整数,从小到大排序后输出。
少了几个;赋值语句也有些问题。程序如下,编译通过。include <stdio.h> int main(){ int a,b,c,t;while(scanf("%d%d%d",&a,&b,&c)!=EOF){ if(a<b) ;else {t=b;b=a;a=t;} if(a<c);else {t=c;c=a;a=t;} if(b<c);else {t=c;c=b;b=t;} printf("%d %d...

C语言程序题目:由键盘输入三个数a,b,c,按从小到大的顺序输出这三个数...
结论是,这篇文章提供了一个C语言程序,用于接收用户输入的三个数a、b和c,并按从小到大的顺序输出。以下是改写后的直观解释:在C语言编程中,如果你需要编写一个简单的程序,让用户输入三个数a、b和c,然后以它们的升序输出,可以参考以下代码片段:c include int main() { int a, b, c, ...

编写c语言程序实现从大到小排列三个数值。
C语言程序如下:include<stdio.h> intmain(){ inta,b,c,t;printf("请输入三个数:");scanf("%d%d%d",&a,&b,&c);if(a>b){ t=a;a=b;b=t;} if(a>c){ t=a;a=c;c=t;} if(b>c){ t=b;b=c;c=t;} printf("从小到大的顺序是:%d %d %d\\n",a,b,c);return0;} ...

c语言三个数排序从小到大
c语言三个数排序从小到大如下:定义数据类型,本实例中a、b、c、t均为基本整型。使用输入函数获得任意3个值赋给a、b、c。使用if语句进行条件判断,如果a大于b,则借助于中间变量t互换a与b值,依此类推比较a与 c、b与c,最终结果即为a、b、c的升序排列。使用输出函数将a、b、c的值依次输出。...

相似回答