这个问题在这里已经有一个答案:>
problems with char array = char array2
这里是我的第一篇文章.我一直在尝试选择这个选择,我希望用户只选择数字而不是输入数字(更容易),但是当我想要数字等于一个字符串时,它表示“数组类型char [30]不是分配”.即使在后面我把分号也不是.
这里是我的第一篇文章.我一直在尝试选择这个选择,我希望用户只选择数字而不是输入数字(更容易),但是当我想要数字等于一个字符串时,它表示“数组类型char [30]不是分配”.即使在后面我把分号也不是.
#include <stdio.h>
int main() {
int choice1;
char word[30];
printf("You have three choice.\n");
printf("[1] Jump [2] Run [3] Dance\n");
scanf("%d",&choice1);
if (choice1 == 1)
{
word = "Jump" //Error #1
}
else if (choice1 == 2)
{
word = "Eat" //Error #2
}
else if (choice1 == 3)
{
word = "Sleep"; //Error #3
}
printf("You will Now be %sing",word);
}
解决方法
您不能分配到一个数组,只能复制到它.
改为使用strcpy,像
strcpy(word,"Jump");