作业帮 > 综合 > 作业

# include void p(int *x,int y){ ++*x; y=y+2; } void main() {

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/28 16:44:18
# include void p(int *x,int y){ ++*x; y=y+2; } void main() { int x=2,y=3; p(&y,y); printf("
# include
void p(int *x,int y){
++*x;
y=y+2;
}
void main()
{
int x=2,y=3;
p(&y,y);
printf("%d#%d",x,y);
}
# include void p(int *x,int y){ ++*x; y=y+2; } void main() {
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
再问: 如果把p(&y,y)换成p(&x,y)呢?
再答: 3#3
再问: 您的意思是只有在主函数中指针指定的变量才变化,没有指针的指定的就没变化是吗? 请您解释一下,我快考试了,帮帮忙了。。。。谢谢您