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

问题描述:

void fun(int p) { int d=2; p=d++; printf("%d",p); } main() { int a=1; fun(a); printf("%d\n",a); }
1个回答 分类:综合 2014-11-09

问题解答:

我来补答
21 应该分别是2 和 1
再问: 能说的详细一些么?
再答: 对fun函数参数赋值 只在fun函数内有效,数据是不会影响到函数区域以外的,p=d++,先将d=2的值赋给p 然后d的值变成3,fun函数调用完成后,a的值还是原来的1,你的输出没有空格 所以2和1连着输出的。如果函数定义为void fun(int &p)的话,即传引用, 就会是2和2了,应该详细了吧,呵呵。
 
 
展开全文阅读
剩余:2000
上一页:周五
下一页:责任的事实论据