为什么在调用函数里面不能更改主函数的值 为什么只能用指针来解决
#include<stdio.h>
int e(int*p1,int*p2,int*p3);
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
e(&a,&b,&c);
}
int e(int*p1,int*p2,int*p3){
int t;
if(*p1>*p2){
if(*p2>*p3)
printf("%d %d %d",*p1,*p2,*p3);
else
printf("%d %d %d",*p1,*p3,*p2);
}
if(*p2>*p3){
if(*p3>*p1)
printf("%d %d %d",*p2,*p3,*p1);
else
printf("%d %d %d",*p2,*p1,*p3);
}
if(*p3>*p2){
if(*p2>*p1)
printf("%d %d %d",*p3,*p2,*p1);
else
printf("%d %d %d",*p3,*p1,*p2);
}
}
正常啊,毕竟各个函数的作用域也不一样,不用的指针的话也可以,定义成全局变量,这样每个函数就都能修改值了