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(错字)
答案 0 :(得分:1)
在C中,您必须使用strcpy()
复制字符串。
#include<string.h>
...
if(choice==1){
strcpy(activity, "Sedentary");
}
else if(choice==2){
strcpy(activity, "Light Activity");
}
else if(choice==3){
strcpy(activity, "Moderate Activity");
}
else if(choice==4){
strcpy(activity, "Very Active");
}
else if(choice==5){
strcpy(activity, "Extra Active");
}
答案 1 :(得分:0)
此处activity = "Sedentary";
是数组的起始地址,如果您在上面执行代码,则类似于0x123344 = "Sedentary"
所以在这里使用strcpy()
strcpy(activity, "Sedentary");
然后它不应该显示Lvalue错误。