c語言 緩衝區開頭空白字符%c讀取出錯的問題

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

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章