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




猜你喜欢

转载自blog.csdn.net/github_35736728/article/details/79536772