C语言if(!a)是什么意思?

如题所述

从c语言的执行机制来看,因为空字符的ASCII码值为0,所以if(!a)的真正含义是当a为空字符时,执行if函数体的内容。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-23
检测a的值,如果a是0,那么!a就为非零,非零就成立,那么就会执行if内的语句,反之如果a不为0,那么!a就为0,即不成立,就不会执行if内的语句
第2个回答  2011-06-25
这个代码没有上下文不好说的太绝对,不过如果这是你看到的能正确运行结果的代码,那么应该是这样理解。
先赋值,再执行一个if语句,不过,这样的写法真是不好,如果是我,我就说它是错误的。
你可以运行一下下面的代码就想清楚了。#include<stdio.h>
int main()
{
int a = 1 ;
int b = 2 ;
if(a=2)
{
b==a?printf("a=2"):printf("a=1");
}
return 0 ;
}
~
~
~
~
~
~
~
~
~
~
~
~
:set nonu 1,1 全部
第3个回答  2011-06-23
相当于
if(a == 0)本回答被网友采纳
第4个回答  2011-06-23
if(!a)等于if(a==0)

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网