作业帮 > 综合 > 作业

void fun(int p) { int d=2; p=d++; printf("%d",p); } main() {

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 14:10:01
void fun(int p) { int d=2; p=d++; printf("%d",p); } main() { int a=1; fun(a); printf("%d\n",a); }
21 应该分别是2 和 1
再问: 能说的详细一些么?
再答: 对fun函数参数赋值 只在fun函数内有效,数据是不会影响到函数区域以外的,p=d++,先将d=2的值赋给p 然后d的值变成3,fun函数调用完成后,a的值还是原来的1,你的输出没有空格 所以2和1连着输出的。如果函数定义为void fun(int &p)的话,即传引用, 就会是2和2了,应该详细了吧,呵呵。