我正在尝试扫描一个 int、一个 char、一个字符串和另一个 int。我认为我可以使用以下代码扫描所有这些:
int int1, int 2;
char char1;
char* string1;
fscanf(stdin, "%d %c %s %d", &int1, &char1, string1, &int2)
但是当我运行我的代码时,它会在我输入所有信息之前突然停止。我计划用换行符分隔变量。我的终端在运行时如下所示:
~$ ./program
100
K
word
~$
程序在我输入 int2 之前关闭,这让我相信 string1 可能也没有被考虑在内。关于如何解决这个问题的任何建议,或者更有效的替代方法?