目前,我有以下几点:C++的cout使用float产生奇怪的结果
float some_function(){
float percentage = 100;
std::cout << "percentage = " << percentage;
//more code
return 0;
}
这给输出
percentage = 100
然而,当我添加一些的std :: ENDL像这样:
float some_function(){
float percentage = 100;
std::cout << "percentage = " << percentage << std::endl;
//more code
return 0;
}
这给出了输出:
percentage = 1000x6580a8
添加更多endl的只是打印出更多0x6580a8的。
这可能是什么原因造成的?这是在Ubuntu 10.04上使用gcc 4.4.3编译的。
怪异的shiznit。 :) – 2010-07-14 15:18:33
您的代码是逐字或转述的? '0x6580a8'可能是'std :: endl'的地址。 – fredoverflow 2010-07-14 15:22:27
@Fred,代码是逐字。我将如何检查这是否是std :: endl的地址? – shuttle87 2010-07-14 15:25:58