请问somone为何打印1而不是2?

时间:2019-11-16 11:24:05

标签: c pointers

由于某种原因,它打印的是1而不是2,我不能说出原因。

#include <stdio.h>
#include <stdlib.h>
void f(int *p)
{
   *p++;

}
int main()
{
   int k=1;
   f(&k);
   printf("%d",k);
    return 0;
}

1 个答案:

答案 0 :(得分:1)

因为增加了指针地址而不是它的值。用括号括起来:

#include <stdio.h>
#include <stdlib.h>
void f(int *p)
{
   (*p)++;

}
int main()
{
   int k=1;
   f(&k);
   printf("%d",k);
    return 0;
}