weixin_慕娘635539
2020-02-28 17:09
#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;
}
你先看函数void swap(int *p1,int *p2),要求的两个参数是指针。 所以swap()这里面应该是两个指针。*pointer_1不是指针,是指针的所指的值。 形参实参可以好好理解下
C语言入门
926212 学习 · 20797 问题
相似问题