首页 > 解决方案 > 如果条件在 c 中有效,为什么要在里面 printf?

问题描述

if(printf("Hello world")){}

上面代码的输出是

Hello world

我的朋友告诉我,函数 printf 在这里返回的字符长度不为零,因此条件为真。

但我不明白为什么它执行该 printf 语句。printf 不应该只在它在里面时才执行{ }吗?

标签: cif-statementprintf

解决方案


表达式中的表达式if(始终)评估,在您的情况下,这是对printf.

此表达式的值用于确定是否if运行主体(在您的情况下为空白)。


推荐阅读