Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;std::printf(“u”,5)在预期输出后添加一个数字_C++_Xcode_Printf - Fatal编程技术网

C++ C++;std::printf(“u”,5)在预期输出后添加一个数字

C++ C++;std::printf(“u”,5)在预期输出后添加一个数字,c++,xcode,printf,C++,Xcode,Printf,以下代码的输出为51,而不是预期的5。我在Mac OS Yosemite 10.10.4上使用Xcode 6.4和LLVM编译器 #包括 int main(int argc,const char*argv[]{ std::cout返回一个int。在您的示例中,它返回1,即写入的字符数(5) cout正在打印1,在printf之后打印5,因为您将它们链接在一起 要获得5,请说: std::printf("%u\n", 5) 返回打印字符数,因此printf本身打印“5”,然后使用std::cou

以下代码的输出为
51
,而不是预期的
5
。我在Mac OS Yosemite 10.10.4上使用Xcode 6.4和LLVM编译器

#包括
int main(int argc,const char*argv[]{
std::cout返回一个int。在您的示例中,它返回
1
,即写入的字符数(
5

cout
正在打印
1
,在
printf
之后打印
5
,因为您将它们链接在一起

要获得
5
,请说:

std::printf("%u\n", 5)

返回打印字符数,因此printf本身打印“5”,然后使用
std::cout
std::printf
打印“1”

只有一个,像这样:

std::cout << 5 << std::endl;

您不应该将
cout
printf
混合在一起…实际情况是
printf
返回打印的字符数(在您的情况下是一个字符,即
5
)。因此执行
printf
语句,打印
5
,但随后
cout
打印
printf
的返回值,添加一个额外的
1

使用
printf
cout
,而不是两者都执行。感谢大家的快速回答,现在一切都很有意义了!感谢关于
std::hex
和输出样式,在开始使用新语言时,这样的反馈总是受欢迎的。是的,但这是我的错误:D我以为我在printf中看到了“%x”:
std::printf("%u", t);