使用Bash,您可以像这样进行简单的变量测试
$ [ $foo ]; echo $?
1
$ foo=bar
$ [ $foo ]; echo $?
0
当且仅当参数不为null时,表达式才为真。
与C类似的测试是什么?
为了论证,我们可以说int
类型。
答案 0 :(得分:1)
通常,在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");
}