Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
使用 Bash,您可以像这样进行简单的变量测试
$ [ $foo ]; echo $? 1 $ foo=bar $ [ $foo ]; echo $? 0
当且仅当参数不为空时,表达式才为真。
用 C 进行类似的测试是什么?
让我们说一个int类型来论证。
int
通常,C 中存在隐式布尔转换。因此以下所有内容都会打印“bad”:
int a = 0; if (a) { // if a is nonzero. printf("good"); } else { printf("bad"); } char* str = NULL; if (str) { // if str is nonzero. (NULL is zero). printf("good"); } else { printf("bad"); }