为什么不能以这种方式创建一个char数组?
int main()
{
int len;
cin>>len;
char input_str[len];
cin>>input_str;
cout<<input_str;
return 0;
}
答案 0 :(得分:0)
如果在运行时不知道数组的大小,则无法使用静态数组。相反,您可以使用指针并使用“malloc”或“new”为动态分配内存:
1)首先检查用户是否输入了有效的int
2)一旦你有一个有效的int工作,你可以使用...
char *input_str = new char[len];
对于C ++,或者你必须坚持使用普通的旧C语言......
char *input_str = (char *)malloc(len * sizeof(char));