scanf函数

/*
(1)使用scanf函数输入数据,为什么需要按下回车?-----回车可以刷新键盘缓冲区的内容。键盘缓冲区会有一个换行字符。
(2)scanf函数遇到错误输入会停止
(3)scanf函数的格式字符串中的字符分类:
  1.格式声明(格式说明符)
  2.空白字符(共3种,换行,空格和tab,即('\n',' ','\t'))---scanf在读操作中忽略掉1个或者多个空白符
  3.非空白字符---scanf在进行读操作的时候剔除掉与这个非空白字符一样的字符
(4)在输入时空白字符起到数据间隔作用
*/
#include <stdio.h>
int main()
{
	/*scanf函数注意事项(1)(2)  */
	char a = 'A';               //char字符类型 可以存放单个字符 单个字符要用单撇号括起来
	printf("a的值为%c\n",a);
	a = 'd';
	printf("a的值%c\n",a);

	int b;
	printf("请输入b的值"); //提示信息
	scanf("%d",&b);        //如果正确输入b变量的值按下回车,则该句会被输出
	scanf("%c",&a);       //如果没有正确输入b,如输入#按下回车,则这里输出a就为一个#号字符
	if(a == '\n')
		printf("a是一个换行符");
	printf("%c",a);
	

	/*scanf函数注意事项(3)---2.  	*/
	int a;
	scanf("%d\n",&a); //输入完变量a后,敲回车、空格、tab键都会被scanf忽略掉,只能通过一个错误的输入来结束scanf语句的运行
	printf("%d\n",a);

	
	/*scanf函数注意事项(3)--3.  */
	int a;
	scanf("abc%der",&a);  //如果想输入a的值为23,则必须输入abc23er (%d代表a的值)
	printf("a的值%d\n",a);
	

	/*scanf函数的注意事项---(4) */
	int a,b;
	scanf("%d%d",&a,&b);
	printf("a的值是%d,b的值是%d\n",a,b);  //在输入连续的整型或浮点型数据时,可以用空白字符起到间隔数据的作用


	char ch1,ch2;
	scanf("%c%c",&ch1,&ch2); //对于连续的字符型数据输入,它们是有能力自己间隔数据的,不必用空白符间隔,否则会得到错误的结果
	printf("ch1 = %c,ch2 = %c\n",ch1,ch2);
	return 0;
}
//scanf函数中不可使用#,-,m.n的格式附加字符(m,n属于自然数),可以使用域宽的格式附加字符
#include <stdio.h>
int main()
{
	//用putchar和getchar将用户输入的一行信息输出到屏幕上
	char ch;
	while((ch = getchar()) != '\n')
	{
		putchar(ch);
	}

	return 0;
}
发布了46 篇原创文章 · 获赞 0 · 访问量 593

猜你喜欢

转载自blog.csdn.net/syyy9090/article/details/105482757