我的程序运行正常,但在编译时显示警告: “ ISO C11不允许从字符串文字转换为'char *'[-Wwritable-strings] list.get_string(“输入字符串:”);“
代码如下:
char * getString(char *str)
{
int ch, i;
char *ptr = malloc(sizeof(int) * sizeof(char) + 1);
i=0;
printf("%s", str);
while((ch=getchar())!='\n')
{
ptr[i] = ch;
i++;
}
return ptr;
}
为什么在我的代码中显示警告? 另外,代码看起来有些混乱。有没有更好的方式编写此代码?
谢谢你的帮助。