我記得有人說scanf,printf,這種C類型輸入輸出不要和cin,cout C++類型輸入輸出混用。
這裡主要說說scanf,gets的一些細節。
scanf("%s",str);遇到空格,換行終止,将之前的字元(沒有空格,首部有空格則跳過)輸入到str,并從緩存中去除這些字元,現在,緩存從空格開始。
而gets(str)則輸入直到遇到換行,将除換行的所有字元包括空格輸入到str,并删除緩存中第一個換行。
另外注意這種情況:
輸入三個元素分别是:字元串“jkljjklnbjk",空格,字元'c'
scanf("%s",str);
scanf("%c",&a);
a得到的是空格。。