为了账号安全,请及时绑定邮箱和手机立即绑定

关于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;

}


正在回答

1 回答

你先看函数void swap(int *p1,int *p2),要求的两个参数是指针。 所以swap()这里面应该是两个指针。*pointer_1不是指针,是指针的所指的值。  形参实参可以好好理解下

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926209    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

关于C的指针的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信