scanf()被忽略的分隔符,还在输入缓冲区里吗?

问题描述

scanf()被忽略的分隔符,还在输入缓冲区里吗?

void main (void)
{
int a,b;
char c;
scanf("%d%d",&a,&b);
c=getchar();
printf("a=%d b=%d c=%dn");
}

输入:1(空格)2(回车)
输出:a=1(空格)b=2(空格) c=10
(回车)(光标,程序结束)

我想讨论的是:在输入1和2之间的那个空格符,我们知道它被忽略了,可是它还在输入缓冲区里吗?如果没有,它到哪里去了?

解决方案

被忽略了就没有了。你可以去看scanf的源代码。所谓被忽略就是没有代码逻辑将它拷贝到任何变量中。

解决方案二:

scanf函数读取时是在缓冲区的,函数执行完被释放

解决方案三:

应该不在输入缓存区,它没有实际的意义,根本没有进入缓存,就当没有输入过好了!

解决方案四:

在键盘上按键应该都会进入缓冲区,scanf()只是去缓冲区取按键值,取到空格就忽略掉不将他赋值给变量。
可以看看这个http://blog.csdn.net/fxwzzbd/article/details/2514042

解决方案五:

scanf读取空格时是忽略了的。。。

解决方案六:

从键盘读入键盘缓冲区的数据,读取时应该在,读取完了应该就释放了

解决方案七:

一般为行缓冲,读取一行到缓冲区,到下一行就刷掉,重新读

时间: 2024-12-09 16:39:00

scanf()被忽略的分隔符,还在输入缓冲区里吗?的相关文章

动态显示可输入的字数提示还可以输入的字数

 这篇文章主要介绍了动态显示可输入的字数提示还可以输入的字数,需要的朋友可以参考下  代码如下: <input name="title" type="text" size="50" value="{$p.title}" maxlength="15" onkeyup="javascript:setShowLength(this, 15, 'cost_tpl_title_length');&qu

动态显示可输入的字数提示还可以输入的字数_javascript技巧

复制代码 代码如下: <input name="title" type="text" size="50" value="{$p.title}" maxlength="15" onkeyup="javascript:setShowLength(this, 15, 'cost_tpl_title_length');"><span class="red"

asp.net 仿腾讯微薄提示 还能输入*个字符 的实现代码_实用技巧

textbox如果设置TextMode="MultiLine"则 它的MaxLength设置的值就无效:为了能达到像腾讯微薄.新浪微薄那样的提示的效果(腾讯和新浪微薄文本框用到的应该是textarea),尝试如果不考虑用鼠标操作粘贴.删除textbox的内容,用jquery的keyup和keydown能实现,下面是实现的一个技巧,用到了js的计时器(当焦点在textbox中则"开启"计时器,失去焦点则"关闭"计时器),很好的解决了鼠标操作粘贴.删

计算新浪Weibo消息长度(还可以输入119字)_javascript技巧

此文为计算新浪Weibo的消息长度的方法. 就是 (发言请遵守社区公约,还可以输入119字). 复制代码 代码如下: var getMessageLength = (function() { var byteLength = function(b) { if(typeof b == "undefined") { return 0; } var a = b.match(/[^\x00-\x80]/g); return(b.length + (!a ? 0 : a.length)); };

JavaScript中统计Textarea字数并提示还能输入的字符_javascript技巧

现在流行的Twitter等微博客网站,有一个很好的用户体验,就是在文本框中输入文字的时候,会自动统计输入的字符,并显示用户还能输入的字符,在限制了140个字的微博客中,这样的小提示可以很好的增强用户体验. 如果实现这种技术呢,我进行了一些研究,发现实现其实挺简单,几行代码就能完成输入字符统计功能,经过实际测试,其对文字的统计与Twitter等微博客的完全相同. 使用方法是,先增加一个span,用于显示剩余的字数,然后在Textarea中,加入一个onkeydown和onkeyup的事件,调用另一

jQuery扩展实现text提示还能输入多少字节的方法_jquery

本文实例讲述了jQuery扩展实现text提示还能输入多少字节的方法.分享给大家供大家参考,具体如下: 1.添加jQuery自定义扩展 $(function($){ // tipWrap: 提示消息的容器 // maxNumber: 最大输入字符 $.fn.artTxtCount = function(tipWrap, maxNumber){ var countClass = 'js_txtCount', // 定义内部容器的CSS类名 fullClass = 'js_txtFull', //

如何用javascript计算文本框还能输入多少个字符_基础知识

下面代码超简单,不多说了,直接上代码. //输入计数 //count:能輸入的數據總量 function Calculation(v, count) { var span = $(v).next(); var valLength = $(v).val().length; if (valLength > count) { $(v).val($(v).val().substr(0, count)); valLength = count; } span.text("您已輸入" + va

C#词法分析器(二)输入缓冲和代码定位

一.输入缓冲 在介绍如何进行词法分析之前,先来说说一个不怎么被提及的问题--怎么从源文件中读取字符流.为什么这个问题这么重要呢?是因为在词法分析中,对字符流是有要求的,它必须能够支持回退操作(就是将多个字符放回到流中,以后会再次被读取). 先来解释下为什么需要支持回退操作,举个简单的例子来说,现在要对两个模式进行匹配: 图 1 流的回退过程 上面是一个简单的匹配过程,仅为了展示回退过程,在后面实现 DFA 模拟器时会详细解释是如何匹配词素的. 现在来看看 C# 中与输入相关的类,有 Stream

动态计算还能够输入多少字节的表单代码^O^(申请入精华)

<textarea name="icqcontent" cols="40" onKeyDown="textCounter(this);" onKeyUp="textCounter(this);" rows="5"><%=request.form("subject")%></textarea><font color=#FF9933>*<