c语言求解答拜佛拜佛

已定义变量a=3,b,执行一下C语句后,a、b的值分别是()
if(!a)
b=a++;
else
b=--a;

答案是
b=2;
a=2;
因为a=3,!a的值为零,所以if else语句会执行else里面的。
b=--a;因为a=3,--a之后将值给b,--a的值为2,所以b等于2,a也等于2。
有问题私聊

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7548184
  • 以下回答来自chatgpt:

    根据代码if (!a) b = a++; 可以得出以下推断过程:

    1. 首先判断a是否为0,根据参考资料中的描述,0表示假,非0表示真;
    2. 如果a为0,即假,执行b=a++,此时b的值为0,a的值为1;
    3. 如果a不为0,即真,不执行b=a++,直接跳过。

    因此,根据上述推断过程,如果a为0,b的值为0,如果a不为0,b的值不变。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^