c语言比较两个值,交换两个值
答案:2 悬赏:80
解决时间 2021-11-25 20:30
- 提问者网友:痞子房西
- 2021-11-25 13:49
#include
#include
void main()
{int a,b,c;
void jiaohuan(int x,int y);
scanf("%d%d%d",&a,&b,&c);
jiaohuan(a,b);
jiaohuan(a,c);
printf("%d",a);
system("pause");
}
void jiaohuan(int x,int y)
{ int t;
if(x {t=x;
x=y;
y=t;}
}
为什么交换不了值,谢谢,希望详细一点
最佳答案
- 二级知识专家网友:虚伪的现实
- 2021-11-25 15:01
别听下面的那人说,这跟返回值一点关系都没有!
另外提醒一下,龙__凤 说的引用是C++的特性,C语言没有的,C语言只能用指针。
首先,你要在另一个函数中改变一个变量的值,你需要使用「指针」,修改你这个程序,只需要3个地方:
//函数定义改成这样:
void jiaohuan(int* x,int* y)
{ int t;
if(*x < *y)
{
t = *x;
*x = *y;
*y = t;
}
}
//函数声明:
void jiaohuan(int *x,int *y);
//函数调用:
jiaohuan(&a, &b);
jiaohuan(&a, &c);
全部回答
- 1楼网友:我叫很个性
- 2021-11-25 15:28
例如,要交换变量 a和变量b的值,要用到第三个变量,我取名为 t
三条语句,交换两个变量的值:
t=a;
a=b;
b=t;
就像你要交换两瓶饮料一样,要找一个空瓶子,这里,t 就是空瓶子。
我要举报
大家都在看
推荐资讯