我無法理解我的程序的行爲。它調用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