c - 以下代码中的条件有何作用 "if (y-3) printf("1"); else printf("2"); "

标签 c if-statement conditional-statements

我知道条件应该是例如 y==3,但 y-3 对我来说完全令人困惑。我无法理解这段代码。如果 y-3 为 true,则打印 1。y-3 如何为 true 或 false?

最佳答案

表达式y - 3产生一个可以测试真实性的值。在 C 中,0 为假,任何非零值都为真。说 if (y - 3) 本质上就是说 if (y - 3 != 0) 或更简洁地说 if (y != 3) >

关于c - 以下代码中的条件有何作用 "if (y-3) printf("1"); else printf("2"); ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21080645/

相关文章:

c - 运行时错误 sigsegv

c# - 这个(通用范围类)条件逻辑应该用多态性代替吗?如果是,那为什么?

python - 如何只接受3-8之间的整数而不接受字符串? (Python 2.7.5)

c# - 为什么这个方法,我认为是更快的,更慢的?

python - 如何有条件地更新 np.array ?

r - 在 R 中按排名和条件提取行

C 基本字符串问题

c - 有没有人知道如何用 Kiss-fft API 替换 fftw 中的这些 API?

c - 如何将 POSIX 系统调用 fork() 和 wait() 移植到 Visual Studio 2010 Express?

c - 相当于 NULL 的字符串是什么?