关于C语言:
发布网友
发布时间:2022-04-08 03:25
我来回答
共2个回答
热心网友
时间:2022-04-08 04:55
c=(a+=a+1),(a=b,b);
到这句时a=1,b=2,c=3
而逗号的优先级比等号还小, 所以应该是 (c=(a+=a+1)),((a=b),(b));
变量 += 表达式 和 变量=变量+表达式 一样
a+=a+1就是 a=a+(a+1) 结果是3, 所以这时c是3
后面a=b, a又变成2
然后是逗号表达式 比如(a,b,c) 这个表达式的值取决于最后一个表达式的值
所以c=(a+=a+1),(a=b,b)的值是(a=b,b)
(a=b,b)的值是b,不过这个值没被用来计算或赋值
最后, a是2,b是2,c是3
热心网友
时间:2022-04-08 06:29
是后面的(a=b,b)有问题吧追问哈哈,这道题没问题,我已经明白了,c的值取决于第一个括号,也就是等于3,后面的括号把b赋给a,a就是2,b还是2
追答呵呵