【发布时间】:2017-10-31 09:25:36
【问题描述】:
我是一名学习 C++ 的 C 程序员
似乎 cout 有点笨拙,我不明白为什么它会产生不同的输出。
//The printf below displays value 50
//The cout below display value 2
data_to_send.data[2] = atoi(data_str.c_str());
printf("\n DEBUG: %d\n",data_to_send.data[2]);
std::cout << "Debug: " << std::dec << data_to_send.data[2];
【问题讨论】:
-
什么是
data_to_send.data[2]? -
信息不足。
-
无法在 ideone 上复制。
-
信息不足。在不知道
data_to_send.data或data_str的类型或值的情况下,没有人能猜出代码的输出应该是什么。至少,提供minimal reproducible example 以及类型和值的说明。 -
将
%d更改为%c或将data_to_send.data[2]更改为(int)data_to_send.data[2]。