求輸入任意3個實數,按從大到小的順序輸出.main(){int n1,n2,n3;int *s1,*s2,*s3;printf("\nn1,n2,n3:");scanf("%d%d%d"&n1,&n2,&n3);s1=&n1;s2=&n2;s3=&n3;if(n1<n2)swap(s1,s2);if(n1<n3)swap(s1,s3);if(n2<n3)swap(s2,s3);printf("%d,%d,%d",n1,n2,n3);}swap(int *p1,int *p2){int p;p=*p1;*p1=*p2;*p2=p;}為什么swap(s1,s3);傳到swap(int *p1,int *p2)中要使用s1,s2而不能用*s1,*s2?

熱心網友

交換地址信息.

熱心網友

整型地址,估計樓主還不知道地址為合物吧?或者是不明白變量的生存期...看了就會明白了

熱心網友

因為 int * 是 int 指針,而非 int