- ベストアンサー
if文がコンパイルエラーを起こしてしまう…
C言語の初心者です。 まだ始めて間もない中学生なのですが、タイトル通り、以下のようなif文をコンパイルすると、コンパイルエラーを起こしてしまいます。 何度も、やり直したのですが、どうしてもエラーが出ます。 何方か、「文が変だなぁ」とお気づきなさった方は、回答を頂けると、幸いです。 どうぞよろしくお願い致します。 とりあえず、本に習って、下の文を作成しました。 #include <stdio.h> main() { int year; year = 14; /* 数字のところにあなたの年齢を入れてください。 */ if (year < 20) { printf("あなたはまだ、20を過ぎていないので、お酒は飲めません。\n"); } else { printf("あなたは成人なので、楽しくお酒を飲むことが出来ます。\n"); } if (year == 20) { printf("あなたは、今年成人式ですね。\n"); } if (year >= 18 ) { printf("あなたは結婚が出来る年齢ですね。\n"); } }
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
ごめんなさい。コンパイラが出したのは、 otnさんの回答が正解です。 ただし、jumpman_723さんの出されてる点も直さないと コンパイル通りません。 #私が、見落としてしまった。
その他の回答 (6)
- blue_kame
- ベストアンサー率62% (5/8)
s73.c:32; parse error berore "!" って、 before "!"では? 「!=」の間にスペースが入っていませんか?
お礼
アドバイスありがとうございます。 すみません。 打ち間違いです。 このような、ミスが駄目なんでしょうか…
- t_nojiri
- ベストアンサー率28% (595/2071)
一番最後の >printf("条件に当てはまりませんでした。\n") の最後のセミコロン抜け。 この為に、elseの最後のカッコがコンパイラに 認識されてません。 s73.c:32; parse error berore "!" をちゃんと見れば追える筈ですよ。
- jumpman_723
- ベストアンサー率31% (31/97)
No.2です。 一番最後のprintf文の最後にセミコロンはありますか?
お礼
その通りでした^^; まだまだ、未熟なので、またお会いする機会が有りましたら、宜しくお願いします。
- otn
- ベストアンサー率66% (14/21)
if(a == 20 || b == 30 || a ! = 10) の a ! = 10 の!が全角になっていますが半角の!を使ってください。
お礼
回答ありがとうございます。 早速試させて頂きたいと思います。
- jumpman_723
- ベストアンサー率31% (31/97)
全角のスペースが無いかチェックしてください。 year=14; としているので、 あなたはまだ、20を過ぎていないので、お酒は飲めません。 と出ます。
お礼
其方の、プログラムは、問題なく直りました。 回答ありがとうございました。
- blue_kame
- ベストアンサー率62% (5/8)
「エラーが出る」だけでは分かりません。 どのようなエラーメッセージが出ているのかも書いてください。
補足
すみません… 別の、C文を張ってしまいました。 正しくは、また下に張りました。 使っている、コンパイラは、cygwinです。 ファイル名はs73.cにしてあります。 s73.c: In function "main": s73.c:32; parse error berore "!" 以上です。 C文は、 #include <stdio.h> main() { int a; int b; a = 10; b = 20; printf("aは、%d bは %d です。\n", a,b ); printf("aが10でかつbは20"); if( a == 10 && b == 20 ) { printf("上記条件に当てはまりました。\n"); } else { printf("上記条件に当てはまりませんでした。\n"); } printf("aが10かbが30\n"); if( a == 10 || b == 30 ) { printf("上記条件に当てはまりました。\n"); } else { printf("条件に当てはまりませんでした。\n"); } printf("aが20または、bが30または、aが10以外\n"); if(a == 20 || b == 30 || a ! = 10) { printf("上記条件に当てはまりました。"); } else { printf("条件に当てはまりませんでした。\n") } }
お礼
回答どうもありがとうございます。 あ~間違いだらけです…^^; 皆さんの意見を参考に、修正を入れたいと思います。