c - 如果条件在 c 中有效,为什么要在里面 printf?
问题描述
if(printf("Hello world")){}
上面代码的输出是
Hello world
我的朋友告诉我,函数 printf 在这里返回的字符长度不为零,因此条件为真。
但我不明白为什么它执行该 printf 语句。printf 不应该只在它在里面时才执行{ }
吗?
解决方案
表达式中的表达式if(
始终)
被评估,在您的情况下,这是对printf
.
此表达式的值用于确定是否if
运行主体(在您的情况下为空白)。
推荐阅读
- python - 无法弄清楚如何将用户输入的整数计算为阶乘
- rust - 向下转换 Ref 时处理向下转换错误
> 进入参考 > - ruby-on-rails - 自动/急切加载 /app 之外的目录
- scala - 为什么我会收到此“HttpRequestAction - 'httpRequest-1' 无法执行:没有命名属性”
- javascript - 如何在 cliniko API 中设置正确的时间?
- css - 在 shadow dom 中设置输入范围的样式
- html - 我可以使用 CSS 设置 HTML 目录属性吗
- xcode - Swift 包管理器有本地缓存吗?
- python - 嵌套循环?(我因此而做噩梦)
- javascript - 从父组件角度更新子组件输入