我正在处理以下代码:
#include<iostream>
#include<stdio.h>
using namespace std;
main() {
unsigned char a;
a=1;
printf("%d", a);
cout<<a;
}
它正在打印 1 和一些垃圾。
为什么 cout
会这样?
原文由 Hitesh Menghani 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在处理以下代码:
#include<iostream>
#include<stdio.h>
using namespace std;
main() {
unsigned char a;
a=1;
printf("%d", a);
cout<<a;
}
它正在打印 1 和一些垃圾。
为什么 cout
会这样?
原文由 Hitesh Menghani 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
C 编译器有自己的方式来定义打印输出的类型,因为您可以指定输出的类型。
前任:
so you can also print
c
as an int by%d
, or char%c
, string%s
or a hex value%x
.C++ 也有自己的方式,默认情况下,
cout
将 8 位值打印为char
。因此,您必须在输出参数中使用说明符。您可以使用:
+
在输出参数的名称之前unsigned(var)
;喜欢,