• ベストアンサー

Cプログラミング 初歩

#include <stdio.h> int main (void){ double num; printf("実数を入力して下さい:"); scanf("%lf",&num); printf("あなたは%fと入力しましたね\n",num); return(0); } のプログラミングがコンパイル出来ません↓ printf("あなたは%fと入力しましたね\n",num); をprintf("%f\n",num);のようにすると上手くいくのですが、 どうしたらコンパイルできるか分かる人はいますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.4

GCCのバージョンが3.4以上であれば、コンパイル時に下記のオプションを付けてみてください。 -finput-charset=iso-2022-jp -fexec-charset=cp932

ochagaumai
質問者

お礼

-finput-charset=iso-2022-jp -fexec-charset=cp932は読み取れないそうです…

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.3

ソースファイルの文字コードをJISからShitfJISに換えてみてください。 ShitfJISでダメだった場合はUTF-8かEUCか……。 "あなたは"が、 1B 24 42 24 22 24 4A 24 3F 24 4F 1B 28 42 となっています。 22のところが'"'になってしまうため、ここで文字列が終わってしまっています。

ochagaumai
質問者

お礼

ソースファイルの文字コードを変えてみましたけど、ダメでした。

すると、全ての回答が全文表示されます。
  • splwtr
  • ベストアンサー率16% (75/461)
回答No.2

どのような環境ですか? OS,コンパイラ、言語環境、どうやってコンパイルしたか等々。 こちらは Mac OSX 10.5.2 gcc version 4.0.1 (Apple Inc. build 5465) 記載通りコンパイルできました。

ochagaumai
質問者

お礼

お礼のコメントの場所間違えました 汗 お早い回答、どうも有難うございます。 WindowsXPでプログラミングを勉強しています。 gccファイル名でコンパイルしました。すると次のようなに出てきます… 2-2.c: 関数 `main' 内: 2-2.c:9: error: 文法エラー before "$J$" 2-2.c:9: error: stray '\33' in program 2-2.c:9: error: stray '\33' in program 2-2.c:9: error: stray '\33' in program 2-2.c:9: error: stray '\' in program 2-2.c:9:51: " 文字での終端を欠いています

ochagaumai
質問者

補足

お早い回答、どうも有難うございます。 WindowsXPでプログラミングを勉強しています。 gccファイル名でコンパイルしました。すると次のようなに出てきます… 2-2.c: 関数 `main' 内: 2-2.c:9: error: 文法エラー before "$J$" 2-2.c:9: error: stray '\33' in program 2-2.c:9: error: stray '\33' in program 2-2.c:9: error: stray '\33' in program 2-2.c:9: error: stray '\' in program 2-2.c:9:51: " 文字での終端を欠いています

すると、全ての回答が全文表示されます。
回答No.1

私の環境ではコンパイルできましたが・・・ 失礼ですがあなたの開発環境を教えていただきますか?

ochagaumai
質問者

お礼

回答ありがとうございます! 上に詳しく書きましたので宜しくお願いします!

ochagaumai
質問者

補足

回答ありがとうございます! 上に詳しく書きましたので宜しくお願いします!

すると、全ての回答が全文表示されます。

専門家に質問してみよう