# include<stdio.h> void p(int *x,int y){ ++*x; y=y+2; } void main() { int x=2,y=3; p(&y,y); printf("

2025-01-07 16:32:21
推荐回答(4个)
回答1:

2#4

p函数的 int *x
得到main中 y的地址
故p函数的 x指向 main的y
p中 *x 和 main的y 占用的是同一段内存,p里 ++*x
就是main的y加1了

p 的y 接收 main的y的值
p的y和main的y是两个不同的内存
p 里 不管 p的y怎么变都不影响 main的y

所以main里x不变还是2 y变为4

回答2:

p(&y,y);

回答3:

x=5,y=1

回答4:

2#4