關(guān)于C的指針的
#include<stdio.h>
int main()
{
????int *pointer_1,*pointer_2;
????int a,b;
????pointer_1=&a;
????pointer_2=&b;
????printf("Please enter two numbers:\n");
????scanf("%d,%d",&a,&b);
????if(a<b)
????????swap(pointer_1,pointer_2);?
?? ?printf("%d,%d",a,b);
????return 0;
? }
?為什么?是? ?swap(pointer_1,pointer_2);?而不是swap(*pointer_1,*pointer_2);這樣不能交換a,b的兩個值嗎
void swap(int *p1,int *p2)
{
????int temp;
????temp=*p1;
????*p1=*p2;
????*p2=temp;
}
2020-06-29
你先看函數(shù)void swap(int *p1,int *p2),要求的兩個參數(shù)是指針。 所以swap()這里面應(yīng)該是兩個指針。*pointer_1不是指針,是指針的所指的值。? 形參實(shí)參可以好好理解下