易截截图软件、单文件、免安装、纯绿色、仅160KB

C 中scanf ( ) 函数用法 心得

我觉得,在输入输出函数中,scanf()函数,应该是最麻烦的,有时它给我们的结果很可笑,但是一定是一原因的....
首先声明一下,这篇日志不是介绍scanf()中各种格式符用法的文章(没有这个必要,但是大家一定要会用).
我尝试了很多种输入,包括一些错误的练习,曾经对scanf()由迷茫转向清醒,又由清醒再次转向迷茫......不知道何时是个尽头,谁让C如此高深呢?
在这里贴出来,也是想让自己时而不时能看到,也想知道自己的理解是否有错,错在哪里(所以我就厚着脸皮,放在上面了).
注意 , 键盘缓冲区 与输入有着密切的关系 ,并且, 类型匹配 对 输入也极为重要!!
下面进入主题:
scanf对流的操作遵从类型匹配操作原则,如果类型不匹配,它将不读取输入流。 因此输入流将滞留,如果输入流不空,scanf不会等待用户输入,直接从缓冲区中输入.
但是,scanf() 怎样匹配? stdin又是什么?
在网上搜到的关于匹配的非常少,有些细节原因还是找不到.
所以,我自作主张的下了点结论:
例: scanf("%d,%d",&i,&j);  输入:12 ,13回车 但是,j!=13. //注意,12后有一个空格,why?  
    原因:我解释为,在scanf()中,格式字符串中普通字符(不包括空白字符)实行的是 严格匹配,因为格式串中%d后面是一个 ','  ,因此输入中数字12后必须为一个','.
      scanf("1123%s",&str);  输入:1123aaabb 时str为 aaabb,但是,输入 24aabbdd时,   会出错,因为1123必须进行严格匹配.
另外:  scanf("%d\n",&i); printf("i=%d",i);      要怎么输入才能输出: i=12    ? 它不是你想像中的那样,有机会尝试一下吧!
一些样例:
scanf()是一个有返回值 的函数,它的返回值是什么?怎么样利用这个特性?
scanf()中的匹配原则: 在本文 第五点 具体说明...
scanf()中各种数据格式匹配的开始条件,结束条件 .
         如: %d ,\n等类型输入结束条件.
          scanf("%d\n",&i);printf("%d",i);  输入 12回车,并无输出,why?
scanf()函数的结束条件: 当各个 格式符 匹配完毕,且最后有一个回车时,函数结束.
scanf("%s",str)连续输入127个就不能继续输入了.  //TC中,VC好像是4000多..
//说明键盘缓冲区长度为一个字节吗?但是  stdin->bsize(缓冲区大小)事实上为 512,这又是为什


相关文档:

C/C++语法知识:typedef struct 用法详解

第一篇:typedef struct与struct的区别
1. 基本解释
typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型
(struct等)。
在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明 ......

使用c#创建sql server的存储过程_c#应用2

{
SqlConnection cnn = new SqlConnection
("context connection=true");
cnn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
cmd.CommandText = "select * from customers";
SqlDataReader reader = cmd.ExecuteReader();
SqlContext.Pipe.Send(reader);
reader.Close();
cnn.Close();
}
......

决策树C4.5算法Java代码

    - 加入菜鸟学习网,获得珍藏资源

Java代码 数据挖掘中决策树C4.5预测算法实现(半成品,还要写规则后剪枝及对非离散数据信息增益计算) Java代码 package org.struct.decisiontree;   import java.util.ArrayList;   import java.util.Arrays; ......

C图形函数解析

C语言中,图形函数大致可分为两类:字符模式函数和图形模式函数。本节我们练习使用字符模式函数。  
          使用字符模式函数应该在程序中联入conio.h头部文件。  
          下面是一些函数的作用  
  1)     void   &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号