2011-01-28 5 views
1

VS2010でWin32コンソールプロジェクトを作成しました(「プリコンパイル済みヘッダー」オプションを無効にしました)。コンパイラはdouble d = 0x0.3p10;の行に構文エラーを示すWin32コンソールプロジェクトの問題

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

以下のよう

は、それからコードを満たしました。

: 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 OSでCコンパイラを推奨します。ありがとうございました。 –

+1

答えにいくつかの選択肢を入れてください。 'mingw'はおそらく一番簡単に行くことができます。基本的にWindows用のgccです。 –