• ベストアンサー

エラーの意味は? Lvalue required

今プログラミングと格闘中です。タイトルにもあるように「Lvalue required」とはどういう意味か教えてください。

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

  • ベストアンサー
  • madman
  • ベストアンサー率24% (612/2465)
回答No.3

補足を拝見しました。 まず、if文ですが if(day%7=5) では無く if(day%7==5) とイコールを2つ書きましょう。 それからprint文ですが printf("%d月%d日は、土曜日です。"); %dに対する表示したい値が入っていません。 ほかにも、コンパイルエラーに掛かる場所は有りますが、簡単に直せるとこでしょうから、あえて記述致しません。

noname#1519
質問者

お礼

=は発見できたのですがその他のご指摘までありがとうございます。その他の部分も修正しています。はやく完成させたいです。

その他の回答 (3)

  • shigatsu
  • ベストアンサー率26% (511/1924)
回答No.4

Lvalueは左辺値の事ですね。 if分の式が代入になっていて、その代入式の左側。通常なら変数があるべき部分に day%7 って書いてあるから『代入するには左辺値が必要です』って言ってるんですね。 コンパイラって律儀なのでたまに変なエラーが出たりしますが、よくエラーの意味を考えると「なるほど」ってなります。 「絶対に間違ってない」って思いながら見てるとバグは見つかりません。「絶対になんか違ってるんだ」って疑ってかかると見えてくる場合が多いです。

noname#1519
質問者

お礼

エラーの修正をしてみると「なるほど」と思うことが多いですね。なかなか見つけられないこともあるので注意してみます。

  • alfeim
  • ベストアンサー率58% (114/195)
回答No.2

言語がなんなのか分からないので想像ですが Left value required 左辺値が必要 と言われてるんじゃないでしょうか? 代入式の左辺(=の左側、代入されるほうです)が無いか 代入不可能なものが記述されているのでは?

noname#1519
質問者

補足

どうやら「=」が足りないような気がしました。今度はundefined symboやら declaration syntax errorなどがでてきてしまいました ( >_<)。あぁ情けないです (T.T)。

  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

パラメータ(Lvalue)が異常だよぉ  って言っていると思います。  OSは?  コンパイルの種類は?  コンパイルエラーになるのなら、コンパイルエラーがでる部分を補足して下さいね。  

noname#1519
質問者

補足

今カレンダー表示をさせようとしています。それでここまできたのですが、 #include <stdio.h> main() { int i,dayi,month; int dates[]={31,28,31,30,31,30,31,31,30,31,30,31}; printf(" 月を入力してください → "); scanf("%d",&month); printf(" 日を入力してください → "); scanf("%d",&day); for(i=0;i<monthi-1;i++){ day=day+dates[i]; if(day%7=0){ printf("%d月%d日は、日曜日です。"); } if(day%7=1){ printf("%d月%d日は、月曜日です。"); } if(day%7=2){ printf("%d月%d日は、火曜日です。"); } if(day%7=3){ printf("%d月%d日は、水曜日です。"); } if(day%7=4){ printf("%d月%d日は、木曜日です。"); } if(day%7=5) printf("%d月%d日は、金曜日です。"); if(day%7=6){ printf("%d月%d日は、土曜日です。");  } } とまだまだできは遠そうです。しかしif文の位置が違っているのでしょうか。ifの文がすべてエラーだと出てしまうのです。

関連するQ&A