我有一段代碼:
在Windows MSVC 2012
爲什麼printf爲非零的double輸出零?
#include <stdio.h>
#include <string.h>
namespace myname{
double var = 42;
}
extern "C" double _ZN6myname3varE = 10.0;
int main(){
printf("%d\n", _ZN6myname3varE);
return 0;
}
輸出是0
。但我認爲輸出應該是10
。你能解釋爲什麼嗎?
'd' - >'f' ... – Mysticial
我不確定*你想要什麼,但它是[保留標識符](http://stackoverflow.com/questions/228783/)什麼是關於使用下劃線在交流標識符) – chris
投票擱置,因爲所描述的問題是由一個簡單的誤解(%d而不是%f)造成的。 – jogojapan