我的一個朋友正在嘗試學習c(她自己和一本書),有時她會尋求幫助。我不明白爲什麼我不能在c中得到三個輸入
她只是給了我一些我無法回答的東西;我很慚愧,但我在大學學習了C,然後轉移到了PHP。我很困難,所以我想知道爲什麼我們不能得到三個輸入。這裏的部分代碼:
#include <stdio.h>
int main()
{
int num1;
int num2;
char x;
printf("Enter a number:\n");
scanf("%d\n",&num1);
printf("Enter another number:\n");
scanf("%d\n",&num2);
printf("Choose an operation sign:\n");
scanf("%c\n",&x);
...
喜歡這個詢問的第一個輸入兩次,就像這樣:
Enter a number:
1
2
Enter another number:
3
Choose an operation sign:
-
如果我刪除它跳過最後一個scanf
的\n
。
你能幫我理解爲什麼嗎?
注意,上面的例子輸入,你會得到'num1 == 1','num2 == 2','x =='3''。 –
如果您刪除\ n,程序不會跳過上一次scanf。相反,\ scanf中仍留在緩衝區中的\ n存儲在變量x中。 – Farhan