2011-01-28 49 views
1

我用我的VS2010創建了一個Win32控制檯項目(禁用「預編譯頭文件」選項)。Win32 Console項目問題

然後我填充的代碼如下

#include <stdio.h> 
int main (void) { 
    double d = 0x0.3p10; 
    printf ("%.f\n", d); 
    return 0; 
} 

編譯器顯示上的double d = 0x0.3p10;行語法錯誤。

: error C2059: syntax error : 'bad suffix on number' 
: error C2143: syntax error : missing ';' before 'constant' 
: error C2146: syntax error : missing ';' before identifier 'p10' 
: error C2065: 'p10' : undeclared identifier 

我的項目配置有問題嗎?

回答

3

否。Microsoft Visual C++不支持ISO C99。抱歉。沒有解決方法,除了使用不同的編譯器。見this question's accepted answer

替代方案:

  1. Clang將與MSVC頭工作。我不認爲有可用的二進制文件雖然如此,除非你喜歡編譯編譯器...
  2. mingw它附帶msys和它自己的一套完整的w32api頭。
  3. Intel's Compiler Suite。這與Visual Studio集成,但不是免費的。
+0

我正在閱讀基於C99的c語言書籍。那麼在winxp操作系統上推薦什麼C編譯器。謝謝。 – 2011-01-28 08:04:49