eyys666 发表于 2020-4-13 17:59:49

指针问题

大佬们,这段代码是不是因为指针p的值是a的地址,所以输出的时候是输出数组a的地址#include <stdio.h>

void main()
{
      int *p, i, a;
      p = a;
      for( i=0; i<10; i++)
      {
            scanf("%d", p++);
      }
      printf("\n");
      for( i=0; i<10; i++, p++)
      {
            printf("%d ", *p);
      }
      printf("\n");
}

zltzlt 发表于 2020-4-13 18:03:41

#include <stdio.h>

void main()
{
    int *p, i, a;
    p = a;
    for (i = 0; i < 10; i++)
    {
      scanf("%d", p++);
    }
    printf("\n");
    // 此时的 p 是 (数组第 10 个元素的地址)+1,如果 *p 会输出一串毫无意义的整数
    p = a; // 漏了这句
    for (i = 0; i < 10; i++, p++)
    {
      printf("%d ", *p);
    }
    printf("\n");
}

eyys666 发表于 2020-4-14 16:25:55

zltzlt 发表于 2020-4-13 18:03


多谢提醒
页: [1]
查看完整版本: 指针问题