回覆列表
-
1 # 熱心市民小劉
-
2 # 吾心願比之如
呼叫子函式交換主函數里變數的值,需要傳遞指標
#include <stdio.h>
void sort(float *a,float *b,float *c)
{
float m;
if(*a>*b)
{
m=*a;
*a=*b;
*b=m;
}
if(*a>*c)
{
m=*a;
*a=*c;
*c=m;
}
if(*b>*c)
{
m=*b;
*b=*c;
*c=m;
}
}
void main()
{
float i,j,k;
printf("Input three numbers:\n");
scanf("%f%f%f",&i,&j,&k);
sort (&i,&j,&k);
printf("The sorted number is:\n%f\n%f\n%f\n",i,j,k);
}
全域性變數#include <stdio.h>int a,b,c;//定義三個全域性變數void sort() //不需要引數{ int t;if(a>b) { t=a;a=b;b=t;} if(b>c) { t=b;b=c;c=t;} if(a>b) { t=a;a=b;b=t;}}int main(){ printf("輸入:");scanf("%d%d%d",&a,&b,&c);sort();printf("排序:%d < %d < %d\n",a,b,c);return 0;}