0
我使用LINUX操作系統和GCC編譯器。當我運行這段代碼,掃描變量
#include<stdio.h>
int main()
{
int age;
char col;
printf("Enter a age ");
scanf("%d",&age);
printf("Enter a college:");
scanf("%c",&col);
if(age>=25 && (col=='H' || col=='Y'))
printf("Harvard");
else
printf("Yale");
return 0;
}
當我運行這段代碼,輸出是,
$./a.out
$Enter a age 28
Enter a college:Yale
$
即使當我試圖將年齡給予不同的值,輸出仍然是一樣的。 爲什麼循環會中止並在代碼中打印下一條語句?
而當我更改變量聲明,即我第一次閱讀字符,然後年齡..現在代碼工作正常。 這是爲什麼發生?