此代码不起作用。
char* randomWordHidden[length];
char try;
printf("Enter a letter: ");
scanf(" %c", &try);
//here there is a loop
randomWordHidden[i] = try; //assign position of randomWordHidden with try value
它给出了错误:[Warning]赋值使得整数指针没有强制转换
但我这样做并且有效:
randomWordHidden[i] = "H";
如何为randomWordHidden的值分配try var?
的值答案 0 :(得分:4)
好;
您已将指针的列表(长度为length
)设置为字符。我想你想要的是:
char randomWordHidden[length];
应为length
个字符。
答案 1 :(得分:1)
您的randomWordHidden
不是char
的数组,而是char*
的数组,因此实际上是一个字符串数组。这就是为什么分配char
会给您一个警告,因为您无法执行char* = char
。但是"H"
的分配有效,因为它是 NOT a char
- 它是一个字符串(const char*
),由字母{{1}组成然后终止字符'H'
。这是'\0'
- char
,这是字符串('H'
数组) - char
。
您很可能需要将"H"
数组的声明更改为randomWordHidden
而不是char
。
答案 2 :(得分:0)
我相信数组已经是指针,不需要那个声明。
char randomWordHidden [length];
试一试?