其他分享
首页 > 其他分享> > scanf读字符的坑

scanf读字符的坑

作者:互联网

int main()
{
	char a = 0;
	char b = 0;
	scanf("%c", &a);
	scanf("%c", &b);
	printf("a=%c,b=%c", a, b);
	return 0;
}

输出结果:

输出b的ascii码值:

printf("a=%c,b=%d", a, b);

输出结果:

a=q,b=10------b=10ascii码值是换行符'\n',scanf缓冲区(q+回车键(\0)),

结论:scanf读取单个字符会在缓冲区按顺序读写下去包括回车换行'\n',如果要消除换行符可用getchar( )消掉。

标签:字符,scanf,char,printf,缓冲区,换行符,码值
来源: https://www.cnblogs.com/godex/p/16684944.html