-1
char activity[30];
int choice;

scanf("%d", &choice);
if(choice==1){
    activity = "Sedentary";
}
else if(choice==2){
    activity = "Light Activity";
}
else if(choice==3){
    activity = "Moderate Activity";
}
else if(choice==4){
    activity = "Very Active";
}
else if(choice==5){
    activity = "Extra Active";
}

コンパイルすると、左辺値が必要なエラーが表示されます。意味がわかりません、誰か助けてください。私の英語でごめんなさい。

編集済み - タイトル TurboC (タイプミス)

4

2 に答える 2

0

activity = "Sedentary";これが配列の開始アドレスです。上記のコードを実行している場合は、次のようなものです。ここ0x123344 = "Sedentary" で strcpy() を使用します。

strcpy(activity, "Sedentary");

その場合、左辺値エラーは表示されません。

于 2013-10-30T12:32:11.827 に答える