今天写段代码,给一个变量赋值为1之后。使用
uint8_t num; num = 1; cout << num << endl;
竟然打印不出来。苦恼了好久。gdb 中打印出来的确实对的。
后来,无意之中将num改为了100。打印出来的竟然是d。
到这里。才终于意识到原因在哪儿了。100就是d的ASCII码表示。看了我在cout的时候,程序应该是把num当作一个字符来处理了。系统中的uint8_t其实就是unsigned char类型。cout输出的时候自然就会当作一个字符来输出。
cout << (int)num << endl;输出正确了。 联系我:
Email: xudongsecret@qq.com