kwrl.net
当前位置:首页 >> FunC(int x) { int y=13; x=x+y; rEturn x; } mAin... >>

FunC(int x) { int y=13; x=x+y; rEturn x; } mAin...

(a+b,b+c,c+a) //c+a,逗号从左往右,是4 d+e是9 9+4=13; 输出:13

根据运算符优先级,a=(--x==y++)?--x:++y等价于a=(((--x)==(y++)))?(--x):++y,首先判断x=x-1与y值的是否相等,y+1,若相等,则a=--x(--x先x=x-1,然后用于计算)。此时,x=2,y=4。a=2 b=x++,将x的值赋给b,然后x=x+1,所以b=2,x=3. c=y,所以c=4...

31 你定义的函数fun没有返回值,而且参数不是引用型的,所以形参的改变不会影响实参,即a的值,输出的是31

结果为22 func(int a,int b) {return a+b;}main() {int x=6,y=7,z;z=func(func(x++,y++),func(--x,--y));printf("%d",z);}由于编译的某些规则,x=5,y=6 func的返回值为11 最终结果为22

返回10。要分清先自加再赋值还是先赋值在自加。 参数到func(6,1,3).

改为 int main() { intx,y; printf("%d\n",sum(x,y)); int sum(a,b) { int a,b; return(a+b); } 另外在main前面先把sum函数声明一下

#include int func(int a,int b) { int c; c=a+b; return c; } main() { int x=6,y=7,z=8,r;//(x--,y++,x+y)为逗号表达式,取最后一项的结果,即x+y==13 r=func((x--,y++,x+y),z--);//因为z--为后减减,所以调用函数相当于调用func(13,8) printf...

r=func(func(x,y),z); 先func(x,y),返回x+y;就是7; 然后func(7,z),返回7 + z;就是15

c语言的static变量是在程序加载的时候就为之分配内存的,一直到程序结束,而不像普通变量那样函数执行一次分配一次。 fun函数中的局部变量m、i是静态局部变量(它的生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数内...

i+=m+1含义为:i=i+m+1. 第一次调用子程序fun时,赋值得:x=j=1,y=m=1.而子程序里m=0,i=2.所以 运行i+=m+1得 i=3; 运行m=i+x+y得 m=5. 同时返回值m=5,即把5赋值给fun,即k=5,输出k=5.在这次调用中x、y值没改变,所以fun(j,m)中的j、m值不变。 第...

网站首页 | 网站地图
All rights reserved Powered by www.kwrl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com