高级语言使用多了。 C就忘了。回忆一下吧
从基本开始。False and True
In C, the value nonzero is true while zero is taken as false
C的类型主要是:
1. 数(int, float, ...)
2. 字符(char)
3. 指针(arrary, struct, ...)
对于数, 0就是False, 非0就是True
对于字符, 内容为'\0'就是False, 其它为True
对于指针, 0就是False, 其它为True
如一个例子:
int main(int argc, char *argv[]){
char *address = "\0jessinio";
if (*address){
printf("%s\n", ++address);
}
printf("%s\n", ++address);
return 0;
}
if語句内的代码是不被运行的. 因为if (*address)取回了一个char, 这个char的值为'\0', 所以为False
C语言还支持在判断語句中使用赋值表达式的, 如:
int i;
if ( i = 1 + 1){ // do something }
这是等价于 if ( 1+ 1)
这种用法, 在Python里是Error的
这里描述到: http://ftp.at.gnucash.org/languages/c/cref-mleslie/CONCEPT/true_false.html
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.