scanf輸入時%s的方式,會忽略緩衝區開頭的空白字符。所以有些%c讀取會出錯的地方用%s不會出錯,因爲%c會讀取那個開頭的空白字符。
//舉個例子
#include<cstdio>
#include<cstring>
int main() {
char a[100],b[100];
scanf("%s",a);
scanf("%s",b);
printf("a=%s,str_len=%d\nb=%s,str_len=%d",a,strlen(a),b,strlen(b));
return 0;
}
//輸入,注意中間那麼多空格。
aaaaa bbbbb
//輸出
a=aaaaa,str_len=5
b=bbbbb,str_len=5