本人自学的C++ (C++ primer) 在无符号类型测试时不同的输出格式有不同的结果 求解
书上写到的(https://img-ask.csdn.net/upload/201607/11/1468199684_91502.png)
以前老师提到过的(https://img-ask.csdn.net/upload/201607/11/1468199696_869853.png)
为何第一种输出 什么也没有 第二种输出和书上写的一样是 255?
第一个按照字符输出,而0xff是一个不可见的字符,所以输出为空。
第二个,按照字符的ascii码作为数字输出,所以可以看到255。
比如说,c = 65; cout << c;
输出的是A
c = 65; printf("%d", c);
输出的是65
第一种是按照字符输出,255就是空,所以没有看到。
第二种是按照码值输出,即输出10进制数字。