由于某种原因,它打印的是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;
}
答案 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;
}