C语言.大家帮忙看看这个程序 一个地放不知道怎么执行

2025-02-23 22:25:57
推荐回答(6个)
回答1:

结果: 55
1.func((x- - ,y++,x+y),z - - ); 两个参数.
第一个参数((x- - ,y++,x+y)为逗号表达式,最后一个表达式x+y 为逗号表达式的值.
第二个参数z - -
2.所以func((x- - ,y++,x+y),z - - ); 等价func(13,8)此时r=func((x- - ,y++,x+y),z - - );变量r为21
3.r+=func(x,y);--->r=r+func(x,y); --->r=21+34=55
4.由于c为静态变量,所以c+=a+b; --->c=c+(a+b)---->c=21+13=34

回答2:

(x--,y++,x+y)是逗号表达式,它的值是第一个表达式。

所以func((x- - ,y++,x+y),z - - );
func()
的参数是x--,z--
明白这个就可以了。。。

希望能够有用。

回答3:

严重怀疑LS的听课不认真,逗号表达式的值是最后一个表达式的值,(x-- ,y++,x+y)等价于x+y,所以func((x-- ,y++,x+y),z--);等价于func((x+y),z--);

回答4:

fun(x+y,z);
x--;y++;z--;
应该是这样的
(x- - ,y++,x+y)这是逗号表达式

回答5:

(
第一个参数((x- - ,y++,x+y)为逗号表达式,最后一个表达式x+y 为逗号表达式的值.
前面的x--和Y++虽然不作为逗号表达式的值,但也会执行,这样X和Y的值会发生变化。
func((x- - ,y++,x+y),z - - )这个函数执行完以后,X=5,Y=8,
func(13,8), Z=7。
照这样想,就可以解决了。答案应该选A吧!

回答6:

(x--,y++,x+y)是逗号表达式!要x+y的值!
答案应该是55!