输出是啥? C编程[关闭]

Posted

技术标签:

【中文标题】输出是啥? C编程[关闭]【英文标题】:What is the output? C Programming [closed]输出是什么? C编程[关闭] 【发布时间】:2013-06-20 04:37:46 【问题描述】:

刚刚提出了一个我不知何故忽略的基本编程问题。

int a = 2, b = 3, c = 5;

if (!a == b)
    c = a--;
else
    c = ++b;

printf("%d %d %d\n", a, b, c);

我认为输出应该是 2 4 4。 任何人都可以帮助验证我是对还是错以及为什么?

【问题讨论】:

编译运行代码会发生什么? 答案是here。 这并不能回答 为什么 【参考方案1】:

你是对的:!a给你00 == b0

所以,c = ++b 给出了b = 4c = 4a 没有改变。

【讨论】:

【参考方案2】:

由于! 的优先级高于==if 的条件将为假((!a) == b) -> (0 == 3)。所以 else 会被执行,并且 b 和 c 都会被设置为 4。你是对的。

【讨论】:

以上是关于输出是啥? C编程[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

用c语言编程

使用Objective-C时的基本输入和输出是啥[关闭]

宏编程是啥?

c语言编程中,max=num1>num2?num1:num2;是啥意思?

图形编辑器编程挑战解决时间限制超过c ++ [关闭]

在c语言中 stream是啥函数?