指针的学习
两个数比较大小,通过传递内容进行比较
#include <stdio.h> void swap(int *p1, int *p2){ int temp; //注意指变量*的两个地方 定义用* 获取指针所指向的内容用* 指针变量自己的内容不带* temp = *p1; *p1 = *p2; *p2 = temp; } void main(){ int a, b; int *pointer_1, *pointer_2; scanf_s("%d,%d",&a,&b); pointer_1 = &a; pointer_2 = &b; if (a < b) swap(pointer_1,pointer_2); printf("%d,%d ",a,b); }
三个数比较大小,通过传递指针变量地址进行比较
#include <stdio.h> void swap(int *pt1,int *pt2){ int temp; temp = *pt1; *pt1 = *pt2; *pt2 = temp; } //通过交换地址进行交换内容 void exchange(int *q1,int *q2,int *q3){ if (*q1 < *q2) swap(q1,q2); if (*q1 < *q3) swap(q1,q3); if (*q2 < *q3) swap(q2,q3); } void main(){ int a, b, c,*p1 ,*p2, *p3; scanf_s("%d,%d,%d",&a,&b,&c); p1 = &a; p2 = &b; p3 = &c; exchange(p1,p2,p3); printf(" %d,%d,%d ",a,b,c); }