我试图从用户提示符处开始一个字符串数组,并命名该数组。无论我怎么写,我都会不断出错。我不确定是否需要在[]中添加虚拟数字。
do
{
printf("What is your name?\n");
char str[] = get_string(); 'error: array initializer must be an initializer list or string literal'
}
while (namelen[i] = int); //error: use of undeclared identifier 'namelen'
char str[49] = namelen; //error: use of undeclared identifier'namelen'
最佳答案
可以将循环与功能分开。您一遍又一遍地声明namelen
,但仅在循环内部声明。循环外将无法使用。您的条件namelen[i] = int
也不是实际条件。您是否要在namelen[i]
是整数的情况下使循环继续运行?由于int
与char
不同,因此没有任何意义。
我认为您需要澄清您的问题和代码。很难说出您要在这里做什么。
如果我不得不猜测,您希望代码与以下内容更加一致:
int main(void)
{
char namelen[49];
printf("What is your name?\n");
gets(namelen);
printf(namelen);
}