1
 #include<stdio.h>   //line 1
 #include<conio.h>   //line 2
 void main()         //line 3
 {                   //line 4
   int a=6,g=7,b=3;    //line 5
   clrscr();           //line 6
   printf("%d",a>?g=a:g=b); //line 7
   getch();                //line 8
 }

ケース 1: ファイルを保存する前に

これにより、7 行目の 'Lvalue required' でエラーが発生します。しかし、コンパイルしてもエラーは発生せず、実行後は出力3が生成されました。

ケース 2 : ファイルを保存した後

このファイルを保存すると、「左辺値が必要です」というエラーが表示されます。

私の間違いをお詫びし、ここに質問を書いてください

 #include<stdio.h>   //line 1
    #include<conio.h>   //line 2
    void main()         //line 3
    {                   //line 4
    int a=6,g=7,b=3;    //line 5
    clrscr();           //line 6
    printf("%d",a>b?g=a:g=b); //line 7**
    getch();                //line 8
    }

ケース 1: ファイルを保存する前に

これにより、7 行目の 'Lvalue required' でエラーが発生します。しかし、コンパイルしてもエラーは発生せず、実行後は出力3が生成されました。

ケース 2 : ファイルを保存した後

このファイルを保存すると、「左辺値が必要です」というエラーが表示されます。

4

2 に答える 2

5

「左辺値が必要」とは、メモリに場所がないものに値を割り当てることができないことを意味します。基本的に、値を割り当てるには変数が必要です。

あなたの特定のケースでは、それを削除a>g=a:g=bしてよりわかりやすいものに置き換えます。現在の状態では、誰も(あなたとあなたのコンパイラを含む)それがどうあるべきか少しもわからないからです。

于 2012-11-23T06:40:01.683 に答える
0

this:printf( "%d"、a> g = a:g = b); 意味がありません。特に単純なものでは絶対にやるべきではない条件をその中に設定することに結びついているのかどうかはわかりません。

次のような必要性が何であるかを理解していないため、printfがどのように機能するかを読む必要があります。

int a = 1;
printf("%d",a);

または、他の何かを使用するつもりでしたが、ここでこれまでに行ったような構文は見たことがありませんa> g = a:g=b。

于 2012-11-23T06:48:22.057 に答える