我正在編譯用C編寫的簡單程序,我在Windows 7和MacBook Pro中都使用Eclipse作爲IDE。很簡單的程序,我的朋友寫了,要我幫他:在Unix和Windows下運行程序
int a = 0;
char b[2];
printf("Input first class info:\n");
printf("Credit Hours: \n");
scanf("%d", &a);
printf("Letter Grade: ");
scanf("%s", b);
所以,當我在我的Mac上運行此,每行打印,當我遇到的scanf(),我可以輸入並繼續按預期。在Windows中,我必須輸入所有內容,然後它將打印所有行。我不知道爲什麼會發生這種情況......在這裏,Windows和Mac有什麼不同?
的Mac:
Input first class info:
Credit Hours: 4
Letter Grade: B+
的Windows:
4
B+
Input first class info:
Credit Hours:
Letter Grade:
感謝, 斯托伊奇
如果在命令行而不是通過Eclipse運行程序,會發生什麼情況? – caf 2010-05-12 04:05:12