我无法理解我的程序的行为。它调用scanf,然后是ungetc,然后是printf。需要帮助了解与scanf结合使用的ungetc行为
我无法得到输出行为背后的原因。 这里是代码。如果有人澄清了这个行为,这会有很大的帮助。
int main()
{
int n=0;
scanf("%d",&n);
ungetc(n,stdin);
printf("%d\n",n);
return 0;
}
在gcc编译器和Linux平台输出: 首先,如果我给90然后等待另一个号码后,我给另一个号码它打印90
它在哪一点等待另一个号码?你为什么使用ungetc? – 2012-07-07 14:07:32
它与'ungetc'无关,它是扫描格式。删除'\ n'并立即打印。 – 2012-07-07 14:10:28
我进入后第一个说90它等待另一个输入。当我输入另一个数字时,它打印90.i只是试验ungetc..just为学习目的 – Dhatri 2012-07-07 14:10:41