/*------------------------------------------------------- 功能:利用指针方法实现:输入3个整数a,b,c,按大小顺序输出。 注意:由于NONO( )这个函数是改卷人用的,与考生无须考虑。 --------------------------------------------------------*/ #include<stdio.h> void main() { int swap(int *p1,int *p2); void nono(); int n1=21,n2=3,n3=15; int *pointer1,*pointer2,*pointer3; nono(); pointer1=&n1; pointer2=&n2; pointer3=&n3; if(n1>n2) swap(pointer1,pointer2); if(n1>n3) swap(pointer1,pointer3); if(n2>n3) swap(pointer2,pointer3); printf("the sorted numbers are:%d,%d,%d\n",n1,n2,n3); } int swap(int *p1,int *p2) { int p; /**************Begin***************/ /**************End***************/ return(*p1,*p2); } void nono() { FILE *IN,*OUT; int s ; int b[2]; int *p1,*p2; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Read File Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write File Error"); } for(s=0;s<2;s++) { fscanf(IN,"%d",&b[s]); } p1=&b[0]; p2=&b[1]; swap(&b[0],&b[1]); for(s=0;s<2;s++) { fprintf(OUT,"%d\n",b[s]); } fclose(IN); fclose(OUT); }
时间: 2023-08-24 16:05:52 浏览: 165
这是一道 C 语言的指针练习题,要求输入三个整数并按照从小到大的顺序输出。下面是代码解析:
首先定义了三个整型变量 n1、n2、n3,分别赋值为 21、3、15。然后定义三个指针变量 pointer1、pointer2、pointer3 分别指向这三个整型变量的地址。
接下来使用 swap 函数实现指针变量的值的交换,该函数的参数为两个指向整型变量的指针。在函数中定义了一个整型变量 p,用于暂存一个指针变量所指向的值。然后通过指针操作将 p1 和 p2 指向的值进行交换,最后返回交换后的值。
最后按照从小到大的顺序输出三个整型变量的值。
函数 nono() 是一个无关紧要的函数,只是为了改卷人员读入数据和输出数据而已,可以不用考虑。
总的来说,这是一道较为基础的指针练习题,适合初学者练习。
阅读全文