答案是3,怎么来的啊
k=f(a++);pringtf ("%d\n",k),后面没全之前,你可以给我详细说下不?谢谢
追答a=c++,b++可看作3句:
a = c;
c++;
b++;
k=f(a++);pringtf ("%d\n",k)
追答因为static c=3;
这个是静态的,每次调用时C都是3
a=c++; //这里a=3
然后就返回了a
可以详细点不?还有a=c++,b++取得为什么不是b++的值啊?
追答f(int a)
{
int b=0;
static c=3;
a=c++,b++; //你找下逗号的用法
return(a);//这里是最后的返回,用的是A的值
}
一个包含逗号的表达式首先计算逗号左边的表达式,然后计算逗号右边的表达式;整个表达式的结果是逗号右边表达式的值
主要是整个表达式的值是右边的
你找下c++ 逗号与等号优先级,逗号的优先级没有等号高