我的代码创建了一个由3个字符串组成的数组,并尝试使用getline()填充每个字符串。它还打印得到的每个字符串:
int i;
size_t n = 100;
char (*words[3])[100];
for ( i = 0; i < 3; i++)
{
getline(&words[i], &n, stdin);
printf("%s\n",words[i] );
}
当我在命令行中输入第三个字符串时,出现了分段错误。
此外,如果将3替换为5,则在输入第一个字符串时会遇到分段错误。
所以1)我怎样才能让程序存储所有3或5或我给它的任何字符串?,以及
2)为什么如果用3替换3会得到第一个字符串的错误?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句