
指针的学习
两个数比较大小,通过传递内容进行比较
#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\n",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("\n%d,%d,%d\n",a,b,c);
}