如何在C中为char*赋值?

如何在C中为char*赋值?,c,char,assign,C,Char,Assign,这个代码不起作用 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 它给出错误:[警告]赋值从整数生成指针而不进行强制转换 但我这样做了,

这个代码不起作用

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
它给出错误:[警告]赋值从整数生成指针而不进行强制转换

但我这样做了,它也起作用了:

randomWordHidden[i] = "H";

如何将try var的值分配给randomWordHidden的位置?

您的
randomWordHidden
不是一个
char
数组,而是一个
char*
数组,因此实际上是一个字符串数组。这就是为什么分配
char
会给您一个警告,因为您无法执行
char*=char
。但是
“H”
的赋值是有效的,因为它不是
字符
——它是一个字符串(
const char*
),由字母
'H'
和终止字符
'\0'
组成。这是
char
-
'H'
,这是字符串(
char
数组)“H”


您很可能需要将
randomWordHidden
数组的声明更改为
char
,而不是
char*
您的
randomWordHidden
不是一个
char
数组,而是一个
char*
数组,因此实际上是一个字符串数组。这就是为什么分配
char
会给您一个警告,因为您无法执行
char*=char
。但是
“H”
的赋值是有效的,因为它不是
字符
——它是一个字符串(
const char*
),由字母
'H'
和终止字符
'\0'
组成。这是
char
-
'H'
,这是字符串(
char
数组)“H”


您很可能需要将
randomWordHidden
数组的声明更改为
char
,而不是
char*

我相信数组已经是指针了,不需要该声明

字符隐藏[长度]


试试看?

我相信数组已经是指针了,不需要这样声明

字符隐藏[长度]

试试看?

好吧

您已经创建了指向字符的指针列表(长度
长度
)。我想你想要的是:

char randomWordHidden[length];
应该是
长度
字符。

您已经创建了指向字符的指针列表(长度
长度
)。我想你想要的是:

char randomWordHidden[length];
应该是
长度
个字符