所以我有这个小部分代码(基本上是我的整个程序的输入)。fgets没有使用sscanf正确存储的输入
它必须采用最多20个字符的字符串形式,并且两个整数都用空格分隔。
例如,主站1
int main(void)
{
int i, x, y;
char input[28];
char* name = NULL;
fgets(input, 28, stdin);
sscanf(input, "%s %i %i", name, &x, &y);
printf("%s %i %i\n", name, x, y);
return 0;
}
基本上我试图把它打印出来,看看该程序是否正确存储输入,因为它被存储在一个链表以后。
一切工作正常,但无论我输入什么,它打印出(空)0 4196064.它seg错误,如果我在sscanf()函数中放置和名称infront和。
有关如何解决此问题的任何想法将不胜感激!
好吧,这很有意义。仍然试图围绕C和内存包裹我的头,但这真的澄清了它。非常感谢! – user2334829 2013-05-05 00:46:39