scanf学习之路

#include<stdio.h> 


/* 
   学习计算机,学习敲代码,必须要真真实实的敲,如果敲过,才能明白我下面说的分析
   学习ACM,代码中学,才是王道! 
*/ 
int main(int argc, char** argv) {
	/*
	scanf()函数是c语言中进行输入的函数 ,用于获取数据
	,在控制台中,我们输入一个数据,scanf()则进行读取
	,但是,读取的时候scanf是碰到空格或tab就直接停下啦 
	*/ 
	int n;
/*	
   对于下面,输入一个整数n,程序有一但开始运行,首先是一个黑底的控制台,这个时候,其实,程序是等待我们进行输入 ,
  呵呵:对于scanf()整数格式输入的有一个尿性(有点粗俗了,大家谅解),这个尿性是%d的控制特点。也就是说,开始的时候我们输入空格,tab,enter等空白字符,scanf()
  一概不理,然后原来,他在等待输入的不是空白的东西,很简答,空白的东西就是在控制台中我们自己点了,没有啥显示的,就是空白
   然后,我们在输入非空白的东西,也就是我们点击键盘,控制台实时显示的东西,然后scanf()就开始发大招了 
   读取,OK,然后遇到下个空白,scanf()
   就当啥事没有,因为此时,它已经结束了!!!,并有返回值
   譬如:下面输入:111  12222    12  2 1 2  1 2 
              n的值是 111  后面就忽略了 
*/ 


             char b;
     scanf("%c",&b);
     printf("%clllllllllllllllll",b) ;  //字符型的,上面那套就不起效果啦,亲自上马敲一下。 
     
     
     
	int flag; 
	flag=scanf("%d",&n);     //对的,不必惊讶,scanf()是有返回值的,返回值1表示返回正常,输入的格式正确,0表示出现异常,出现异常的原因,比如这里是需要输入整数,你输入字母
	                        //就直接返回0了,还有就是读取文件结尾,返回为-1,比如:在windows之中,ctrl+z表示文件结尾Ctrl+Z的话,读入,返回flag=-1;
	                        //这里也就是大家为什么会经常看到EOF,实际上EOF就是end of file,是stdio.h定义的一个常量值,表示文件结尾,它的值代表的是-1;   				 
	printf("输入结束,flag: %d  n值: %d",flag,n);
	
	char c; 
	flag=scanf("%c",&c);    //分析;骚年们,这个时候的分析有点吊,我们整个程序开始运行,输入  1 enter,此时我们知道的是scanf()读取了1,不知道的是,这个时候,这里的
	                       //的scanf()搭上上面的顺风车,直接读取enter符号,也就是换行,所以直接下面输出的是一个换行,flag=1; 
						    
	printf("字符输入的是:%c flag=%d",c,flag);
	flag=scanf("%c",&c);  
    printf("字符输入的是:%c flag=%d",c,flag);
	printf("啦啦啦啦啦啦啦啦啦,%c的测试完成!"); 
	
	
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值