プロが教えるわが家の防犯対策術!

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");
    }
}

A 回答 (7件)

ごめんなさい。

コンパイラが出したのは、
otnさんの回答が正解です。

ただし、jumpman_723さんの出されてる点も直さないと
コンパイル通りません。

#私が、見落としてしまった。
    • good
    • 0
この回答へのお礼

回答どうもありがとうございます。
あ~間違いだらけです…^^;
皆さんの意見を参考に、修正を入れたいと思います。

お礼日時:2005/04/08 22:07

s73.c:32; parse error berore "!"


って、
before "!"では?

「!=」の間にスペースが入っていませんか?
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
すみません。
打ち間違いです。
このような、ミスが駄目なんでしょうか…

お礼日時:2005/04/08 22:10

一番最後の


>printf("条件に当てはまりませんでした。\n")
の最後のセミコロン抜け。
この為に、elseの最後のカッコがコンパイラに
認識されてません。

s73.c:32; parse error berore "!"
をちゃんと見れば追える筈ですよ。
    • good
    • 0

No.2です。



一番最後のprintf文の最後にセミコロンはありますか?
    • good
    • 0
この回答へのお礼

その通りでした^^;
まだまだ、未熟なので、またお会いする機会が有りましたら、宜しくお願いします。

お礼日時:2005/04/08 22:01

if(a == 20 || b == 30 || a ! = 10)



a ! = 10
の!が全角になっていますが半角の!を使ってください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
早速試させて頂きたいと思います。

お礼日時:2005/04/08 18:48

全角のスペースが無いかチェックしてください。



year=14;
としているので、
あなたはまだ、20を過ぎていないので、お酒は飲めません。

と出ます。
    • good
    • 0
この回答へのお礼

其方の、プログラムは、問題なく直りました。
回答ありがとうございました。

お礼日時:2005/04/08 18:52

「エラーが出る」だけでは分かりません。


どのようなエラーメッセージが出ているのかも書いてください。

この回答への補足

すみません…
別の、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")
    }
}

補足日時:2005/04/08 00:12
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!