使用指针(实参为指针变量)设计一个函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中。
函数参数是3个指针就行了
#include <stdio.h>
void fun(int *a,int *b,int *c)
{
int m=*a,n=*a,c= *a+*b+*c;
if(*b>m)
m = *b;
if(*c>m)
m = *c;
if(*b<n)
n = *b;
if(*c < n)
n = *c;
*a = m;
*c = n;
*b = c - m - n;
}
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
fun(&a,&b,&c);
printf("%.1f,%.1f,%.1f",(float)a,(float)b,(float)c);
return 0;
}
#include <stdio.h>
void swap(float *x, float *y)
{
float t = *x;
*x = *y;
*y = t;
}
void fun(float *a, float *b, float *c)
{
if (*a < *b)
swap(a, b);
if (*a < *c)
swap(a, c);
if (*b < *c)
swap(b, c);
}
int main()
{
float a, b, c;
scanf("%f%f%f", &a, &b, &c);
fun(&a, &b, &c);
printf("a=%.1f, b=%.1f, c=%.1f\n", a, b, c);
return 0;
}
因为你要求在函数内部改变外部的值,所以需要传地址进去