- ベストアンサー
エラーの意味は? Lvalue required
今プログラミングと格闘中です。タイトルにもあるように「Lvalue required」とはどういう意味か教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
補足を拝見しました。 まず、if文ですが if(day%7=5) では無く if(day%7==5) とイコールを2つ書きましょう。 それからprint文ですが printf("%d月%d日は、土曜日です。"); %dに対する表示したい値が入っていません。 ほかにも、コンパイルエラーに掛かる場所は有りますが、簡単に直せるとこでしょうから、あえて記述致しません。
その他の回答 (3)
- shigatsu
- ベストアンサー率26% (511/1924)
Lvalueは左辺値の事ですね。 if分の式が代入になっていて、その代入式の左側。通常なら変数があるべき部分に day%7 って書いてあるから『代入するには左辺値が必要です』って言ってるんですね。 コンパイラって律儀なのでたまに変なエラーが出たりしますが、よくエラーの意味を考えると「なるほど」ってなります。 「絶対に間違ってない」って思いながら見てるとバグは見つかりません。「絶対になんか違ってるんだ」って疑ってかかると見えてくる場合が多いです。
お礼
エラーの修正をしてみると「なるほど」と思うことが多いですね。なかなか見つけられないこともあるので注意してみます。
- alfeim
- ベストアンサー率58% (114/195)
言語がなんなのか分からないので想像ですが Left value required 左辺値が必要 と言われてるんじゃないでしょうか? 代入式の左辺(=の左側、代入されるほうです)が無いか 代入不可能なものが記述されているのでは?
補足
どうやら「=」が足りないような気がしました。今度はundefined symboやら declaration syntax errorなどがでてきてしまいました ( >_<)。あぁ情けないです (T.T)。
- mnabe
- ベストアンサー率33% (427/1283)
パラメータ(Lvalue)が異常だよぉ って言っていると思います。 OSは? コンパイルの種類は? コンパイルエラーになるのなら、コンパイルエラーがでる部分を補足して下さいね。
補足
今カレンダー表示をさせようとしています。それでここまできたのですが、 #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の文がすべてエラーだと出てしまうのです。
お礼
=は発見できたのですがその他のご指摘までありがとうございます。その他の部分も修正しています。はやく完成させたいです。