4399谁做的网站,工业风 网站建设,中山网站外包,WordPress富媒体说说在C 中 bool类型占用1个字节长度#xff0c;bool 类型只有两个取值#xff0c;true 和 false#xff0c;true 表示“真”#xff0c;false 表示“假”。 需要注意的C中使用cout 打印的时候是没有true 和 false 的 只有0和1 #xff0c;这里0表示假#xff0c;非0表示真
…在C 中 bool类型占用1个字节长度bool 类型只有两个取值true 和 falsetrue 表示“真”false 表示“假”。 需要注意的C中使用cout 打印的时候是没有true 和 false 的 只有0和1 这里0表示假非0表示真
1 查看字节
int main() {bool i true;bool j false;//使用sizeof查看占用的字节cout i的字节 sizeof(i) j的字节 sizeof(j) endl;//打印结果return 0;
}
2 验证0表示假非0表示真
int main() {// 验证0表示假非0表示真bool i -100;bool j 0;bool k 10;// 打印结果i1j0k1cout i i j j kk endl;return 0;
} 这个说下bool i -100 是非0的也就是真由于cout 打印只有true 和false 就是 1 表示真0表示false 所以就是bool i -100 为真也就打印为1 同理book k 10 也是这个道理
bool j 0 是false 打印结果为 0
如果上面看着模糊看下面的
int main() {int a 1;int b 2;cout (ab) endl; // 这里ab 是false 打印结果是0cout(ab)endl; // 这里ab 是true 打印结果是1return 0;
}
3 bool 赋值truefalse 使用
int main() {// bool赋值truefalse使用bool i true;bool j false;cout i i j j endl;//打印结果 i1j0if (i){couttrueendl; //打印结果true}if (j){couttrueendl;// 不会走到if里面}else{coutfalseendl;//打印结果为false}return 0;
}
到这里bool 算是回顾完了我写一个demo 感兴趣的看下如果在实际开发中自己会不会中招。
isOK(filePath) 不符合预期的 -1
#include iostream
#include string
#include unistd.h
using namespace std;bool isOK(const string filePath){return access(filePath.c_str(),R_OK);
}int main() {// 估计设置不经不存在const char* filePath /home/hly/test.txt;cout isOK(filePath) endl; //打印结果是1 cout access(filePath,R_OK) endl;//打印结果是-1return 0;
}