猿问

以下情况中,为什么还要运算func,得出6,而不是直接是3呢?

{ b[0]=*a+6; }
main()
{int a,b[5];
a=0; b[0]=3;
func(&a,b); printf("%d\n",b[0]);
}

printf的b[0]是个值,又不是地址,为什么还要运算func,得出6,而不是直接是3呢

子衿沉夜
浏览 158回答 1
1回答

千巷猫影

因为你调用func函数在后,,定义b[O]在前。。你要是想输出3,,就要把 b[0]=3;func(&a,b);这两个语句调换一下顺序,,b[0]=3;在后。。func(&a,b);在前。。因为程序是从上往下读的。
随时随地看视频慕课网APP
我要回答