bool 变量想为什么一般初始化为FALSE 比较好?

bool 变量与“零值”进行比较的if 语句怎么写?

bool bTestFlag = FALSE;//想想为什么一般初始化为FALSE 比较好?
A), if(bTestFlag == 0); if(bTestFlag == 1); 
B), if(bTestFlag == TRUE); if(bTestFlag == FLASE);

C), if(bTestFlag); if(!bTestFlag); 哪一组或是那些组正确呢?

我们来分析分析:

A)写法:bTestFlag 是什么?整型变量?如果要不是这个名字遵照了前面的命名规范,恐怕很容易让人误会成整型变量。所以这种写法不好。

B)写法:FLASE 的值大家都知道,在编译器里被定义为0;但TRUE 的值呢?都是1吗?很不幸,不都是1。Visual C++定义为1,而它的同胞兄弟Visual Basic 就把TRUE 定义为-1.那很显然,这种写法也不好。

C)大家都知道if 语句是靠其后面的括号里的表达式的值来进行分支跳转的。表达式如果为真,则执行if 语句后面紧跟的代码;否则不执行。那显然,本组的写法很好,既不会引起误会,也不会由于TRUE 或FLASE 的不同定义值而出错。记住:以后写代码就得这样写。

bool 变量想为什么一般初始化为FALSE 比较好?相关推荐

  1. C++11中的bool变量不进行初始化,结果随机,可能是false也可能是true,所以一定要初始化

    ~~ 经过验证,定义一个bool型数组而不赋初值, 每一个元素的值都为0 ~~ 自己以前验证时,数组长度小,结果带有随机性,打印出来全是0,误以为不初始化时是false,这是错误的,当数组开大一点,就 ...

  2. C 判断 —— if...else 语句(bool变量、float变量、指针变量与“零值”进行比较)(else 到底与哪个 if 配对呢? if 语句后面的分号?)

    1.bool 变量与"零值"进行比较 bool 变量与"零值"进行比较的 if 语句怎么写? bool bTestFlag = FALSE;//想想为什么一般初 ...

  3. c语言定义数组变量初始化为0,c语言数组初始化——int a[N] = {0};

    初学数组,以华科的<c 语言与程序设计>为教材,参考了<一站式学习c编程>,后者数组一章有串代码如下 int main(void) { int i, histogram[10] ...

  4. C语言中的bool变量

    在一些高级语言当中,为了能够完成更好的逻辑判断,因此就有了bool类型,bool类型的变量值只有true和false两种. 而在C语言中,一般认为0为假,非0为真. 这是因为c99之前,c90是没有b ...

  5. 数组,结构体初始化为0

    一直以为 int a[256]={0};是把a的所有元素初始化为0,int a[256]={1};是把a所有的元素初始化为1. 调试的时查看内存发现不是那么一回事,翻了一下<The C++ Pr ...

  6. C#会对于未赋值的变量/成员变量,给予一个初始值吗?

    如果我有程序如下: C# code ? 1 2 3 4 5 6 7     public class My     {         public bool b;         public in ...

  7. c语言如何让字符串变成空字符,C语言初始化字符串 c语言 如何将已赋值的字符串初始化为空?...

    C语言数组字符串初始化问题恋爱语录:能牵手的时候,请别肩并肩,能拥抱的时候,请别手牵手,能相爱的时候,请别说分开:拥有了爱情,请别去碰暧昧 字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是 ...

  8. c如何将数组初始化为0?

    转载自:http://www.cnblogs.com/programnote/p/4719078.html 如何将数组初始化为全0? C语言中,声明数组的语句: int arr[100]; 这样声明得 ...

  9. linux C bool变量

    Linux bool变量: 1)是小写bool而非大写BOOL 2)值为true或者false,而非大写TRUE和FALSE,大写的需要自己采用宏来定义 3)linux C下需要包含头文件stdboo ...

最新文章

  1. PHP中array_merge和array相加的区别分析
  2. 线程和进程 linux,Linux查看进程的所有子进程和线程
  3. php动态网页转换成html,怎么把动态的php文件转换成静态的html文件,html文件是php文件…...
  4. 为什么 kubernetes 天然适合微服务
  5. optee中spinlock的实现原理详解
  6. Bootstrap3 表格-鼠标悬停
  7. MySQL索引的创建、删除和查看
  8. java权限框架_Java高级工程师必备技术栈-由浅入深掌握Shiro权限框架
  9. 怎样能让电脑干干净净的没有各种弹窗广告?
  10. 共建智慧云基石,阿里云携手英特尔走向数智未来
  11. C# App.config 详解
  12. 7-36 BCD解密 (10 分)
  13. GT_Trace的使用
  14. SpringBoot 整合 Security5
  15. 编译原理拉链回填技术c语言,编译原理 第1、2、3、4章复习(期末).doc
  16. 令前端工程师追捧的一款前端开发IDE工具WebStorm
  17. UG与PM数控编程的区别在哪
  18. day04-selenium滚动和常见反爬
  19. python英文词频统计软件_英语词频统计软件功能介绍
  20. python template injection_月末总结(python模板注入)

热门文章

  1. I/O:OutputStream
  2. fancybox关闭弹出窗体parent.$.fancybox.close();
  3. CRM WEB UI 04明细界面添加按钮
  4. Java代理模式/静态代理/动态代理
  5. linux基本工具使用(二)
  6. 【视频】SQL Server 2008 R2 StreamInsight - 多源复杂事件处理
  7. 如何在eclipse中安装git?
  8. Matlab Robotic Toolbox V9.10工具箱(七):Stanford arm 动力学建模与仿真
  9. 这些AI应用不简单,Keep首场技术开放日限时报名ing!
  10. 浅谈Angular网络请求