关于scanf输入怎么跳过空白格(空格,回车等)

scanf("%c",&ch)格式读字符时,所有字符都是有效输入,如回车符、空格符等。

而在scanf的格式控制串中加入空白符的作用是跳过0个或多个空白符(包括空格、回车或制表符)。

例题:输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。

关于scanf输入怎么跳过空白格(空格,回车等)_第1张图片

 

#include 
	int main()
    {
	char a, b, c;
	char max, min, tem;
	int i = 0;
	char arr[999];
	while (scanf("%c%c%c\n", &a, &b, &c)!=EOF)
	{
		max = (a > b ? a : b);
			min = (a < b ? a:b);
		max = (max > c ? max : c);
		min = (min < c ? min : c);
		if (max == a && min == b||max==b&&min==a)
			tem = c;
		if (max == c && min == b||max==b&&min==c)
			tem = a;
		if (max == a && min == c||max==c&&min==a)
			tem = b;
		arr[i] = min;
		arr[i + 1] = tem;
		arr[i + 2] = max;
		i = i + 3;
	}
	for (int j = 0; j < i-3; j=j+3)
	{
	printf("%c %c %c\n", arr[j], arr[j + 1], arr[j + 2]);

	}
	printf("%c %c %c", arr[i-3], arr[i - 2], arr[i-1]);
	return 0;
 }

while(scanf("%c%c%c\n", &a, &b, &c)!=EOF)

还等效于

while(scanf(" %c%c%c",&a,&b,&c)!=EOF) 
while(scanf("%c%c%c ",&a,&b,&c)!=EOF) 

你可能感兴趣的:(scanf跳过空白符,C语言,细节知识,c语言)