【发布时间】:2014-04-15 08:59:10
【问题描述】:
在Practical C Programming一书中,我发现fgets()和sscanf()的组合用于读取输入。但是,在我看来,仅使用 fscanf() 函数可以更轻松地实现相同的目标:
来自书中(想法,而不是示例):
int main()
{
int age, weight;
printf("Enter age and weight: ");
char line[20];
fgets(line, sizeof(line), stdin);
sscanf(line, "%d %d", &age, &weight);
printf("\nYou entered: %d %d\n", age, weight);
return 0;
}
我认为应该是这样的:
int main()
{
int age, weight;
printf("Enter age and weight: ");
fscanf(stdin, "%d %d", &age, &weight);
printf("\nYou entered: %d %d\n", age, weight);
return 0;
}
还是我遗漏了一些隐藏的怪癖?
【问题讨论】:
-
你能把书中的代码 sn-p 贴出来让我们看看区别吗?
-
完成。请参见。这两个程序产生相同的输出(至少在眼睛看来)。
标签: c