c语言中的!flag是什么意思

有这样一道题
int a=13,b=64
printf("%d",!a||b>>3)
求答案?
另外想问下如果定义flag=0
if(!flag)是什么意思呢?

第1个回答  2009-05-12
flag词的原意是:旗帜、标志
这就是一个标志位。。。一个变量而已。。。
int flag=0;
没注意到吗??
第2个回答  2015-09-23
C中一般设置一个变量flag,是一个来表示判断的变量,当做标志。例如当一直情况的时候,置flag为1,当另外一种情况时,置flag为2。 变量名为flag,只是习惯问题,也可以取别的名字。
第3个回答  2016-11-29
这个是把变量flag的某一位数据置零的精简写法,展开如下:
flag = flag & (~(0x01<<n));
假如flag = 0x47; n = 2;
= 0x47 & (~(0x01<<2));
= 0x47 & (~0x04);
= 0x47 & 0xFB;
= 0x43;
最后 flag 的结果 就是0x43
相似回答