这个问题在这里已经有一个答案:>
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");