小编Fre*_*eme的帖子

需要帮助理解c中的指针

我无法理解指针概念,下面是代码.为什么交换(&a1,&a2)输出-5,6而不是6,-5?这些值已经交换了吗?

void swap(int *ptr1, int *ptr2){

     int temp;

      temp = *ptr1;
      *ptr1 = *ptr2;
      *ptr2 = temp;

}

int main (int argc, char *argv[]){

    void swap(int *ptr1, int *ptr2);
    int a1 = -5;
    int a2 = 6;
    int *p1 = &a1;
    int *p2 = &a2;

    NSLog(@" a1 = %i, a2 =%i", a1, a2); // out puts: -5, 6

    swap(p1,p2);
    NSLog(@" a1 = %i, a2 =%i", a1, a2); // out puts: 6, -5

    swap(&a1, &a2);
    NSLog(@" a1 = %i, a2 =%i", …
Run Code Online (Sandbox Code Playgroud)

c pointers objective-c concept

0
推荐指数
1
解决办法
364
查看次数

标签 统计

c ×1

concept ×1

objective-c ×1

pointers ×1