16. 分别写出整形、字符、浮点数、指针与“零值 ”的比较。

下面是bool、整型、字符型、浮点型和指针类型与零值比较的示例:对于bool类型,零值表示false,任何非零值表示true,因此使用:if(!var) //零值整型(int)与零值比较:int num = 0;if (num == 0) { // 执行当整型变量等于零时的操作} else { // 执行当整型变量不等于零时的操作}字符型(char)与零值比较:char ch = ‘\0’;if (ch == ‘\0’) { // 执行当字符型变量等于零时的操作} else { // 执行当字符型变量不等于零时的操作}对于float,计算机无法表示准确的浮点数,比如大家都知道:1.0/3 * 3 !=1,因此需要判断变量是否大于一个很小的负数并且小于一个很小的正数。const float f = 0.000001;if(var>=-f && var<f) //零值指针与零值比较:int* ptr = nullptr; // 或 int* ptr = NULL; (C++98/03)if (ptr == nullptr) { // 或 if (ptr == NULL); (C++98/03) // 执行当指针为空指针时的操作} else { // 执行当指针不为空指针时的操作}需要注意的是,对于指针类型,在C++中推荐使用nullptr来表示空指针,而不是使用C语言中的NULL。

发表评论