`

C语言 输入问题

阅读更多
下面程序用来描述我遇到的问题
希望第一次读buffer,c,第二次也从外部读取buffer,c,第三次......
可实际上第二次会直接忽略gets()

-----input.c---------
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{
    char buffer[15];
    char c;
    do{
        memset(buffer, 0, strlen(buffer));
        gets(buffer);
        scanf("%c",&c);
    }while(1);
}


编译:  gcc input.c  -o input -g

调试:  gdb input



输入c的值之后,进入下一次循环,情况是gets(buffer)直接被跳过
实际上,
scanf()以空格,TAB,回车换行作为输入结束,忽略回车符,但是将回车符留在缓冲区中。
gets()以回车换行作为输入结束,忽略回车符,同时将回车符踢出缓冲区,图片中buffer[0]!='\n'
说明gets()不读取回车符

上面程序可以这样修改:
c=getchar() //读取一个char字符
getchar() //读取回车符
或者
char temp[15]
gets(temp);   //剔除回车符   (这里char c  也可以直接用char c[1]代替)
sscanf(temp, "%c", &c);  // 将temp当作一个流,读取字符

  • 大小: 57 KB
分享到:
评论

相关推荐

    C语言输入输出问题解析.pdf

    本文中,李淑敬和李林国两位作者详细解析了C语言输入输出问题,并提供了一些解决方案。同时,文章还指出了在特定环境下对转义字符处理的差异,并对超出字符数组长度的字符串赋值情况进行了说明。这些内容对于C语言的...

    C语言常见问题集 PDF版

    这份“C语言常见问题集”PDF版,无疑为学习和研究C语言的人们提供了一份宝贵的资源。以下是根据标题和描述中提到的知识点进行的详细解释: 1. **C语言基础**: - 变量和数据类型:C语言支持基本的数据类型,如int...

    C语言文件输入与输出

    C语言输入输出函数 1.fopen&#40;&#41;函数 fopen函数用于打开文件,其调用格式为:FILE*fopen&#40;char*filename,*type&#41;; 在介绍这个函数之;前,先了解一下下面的知识。(1)流(stream)和文件(file) 流和文件在TurboC...

    c语言输入年月日,输出这是一年中的第几天

    c语言 输入年月日 输出这是一年中的第几天,输入时需要英文输入法,输入格式如 2018,11,22 需要逗号隔开

    c语言常见问题集

    9. **文件操作**:C语言提供fopen、fwrite、fread、fclose等函数进行文件的读写操作,理解和熟练使用这些函数对于处理输入输出非常重要。 10. **错误处理**:C语言没有内置的异常处理机制,程序员需要通过检查函数...

    C语言清空输入缓冲区在标准输入(stdin)情况下的使用

    * 在C语言中,清空输入缓冲区是非常重要的,以免程序出现问题 本文主要介绍了C语言清空输入缓冲区在标准输入(stdin)情况下的使用,包括多种清空缓冲区的方法,以及每种方法的优缺点,最终推荐使用getchar函数来...

    C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。

    总的来说,这个C语言程序提供了一个基本的学生成绩处理模型,展示了如何在C语言中处理输入、计算和输出,以及如何通过循环和条件判断实现特定功能。这种基础的编程技能对于理解更复杂的程序设计和问题解决至关重要。

    C语言密码星号显示.cpp

    C语言输入以星号显示C语言输入以星号显示 C语言输入以星号显示 C语言输入以星号显示C语言输入以星号显示

    C语言输入十个字母按顺序输出(大小写通用)

    输入十个不区分大小写的字母,按照字母表顺序排序,适用C语言初学者参考

    利用c语言输入一个正三角形

    首先,让我们来看一下问题的描述:利用C语言输入一个正三角形。这意味着,我们需要使用C语言编写一个程序,使其能够输出一个正三角形。那么,如何实现这个目标呢? 首先,我们需要了解什么是一个正三角形。正三角形...

    C语言输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出

    C语言输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出(博主小白)

    C语言输入一个整数序列并计算他们的值.rar_C语言输入一个整数序列并计算他们的值_输入序列C语言

    C语言输入一个整数序列并计算他们的值 读入 n 个整数并计算他们的和。我们在这里要设置一个标记(比如 0),如果输入的数小于等于 0,那么终止输入并计算他们的值,否则继续等待输入,直到有小于等于 0 的值出现。

    C语言数据的输入输出学习教案.pptx

    C语言数据的输入输出学习教案.pptx

    C语言 数据的输入和输出

    C语言,数据的输入和输出。

    C语言拼音输入法源程序

    【标题】"C语言拼音输入法源程序"指的是一个使用C语言编写的程序,它旨在实现一种基于拼音的汉字输入法。在计算机科学领域,编程语言是构建软件的基础,而C语言因其高效、灵活和广泛的平台支持而备受青睐。在这个...

    不定长数组输入C语言版

    C语言 不定长数组输入 很简短。。。。。。。。。。。。。。。。。。。。

    c语言输入和输出ppt课件.ppt

    C语言输入和输出 C语言作为一种编程语言,输入和输出是其核心组成部分。输入是指从外部设备如键盘、鼠标等输入数据,而输出是指将数据显示在屏幕、打印机等设备上。C语言中的输入和输出操作都是通过函数调用来实现...

    C语言输入年份判断是不是闰年

    C语言输入年份判断是不是闰年

    C语言多输入

    对于初学者来说,如何在程序中实现多次输入是一个基础且关键的问题。本知识点将详细介绍如何在C语言中实现多次输入。 在C语言中,我们通常使用标准输入输出函数库中的`scanf`函数来读取用户的输入。`scanf`函数通过...

    C语言版拼音输入法源代码

    标题 "C语言版拼音输入法源代码" 描述了这是一个基于C语言编写的拼音输入法程序,其设计目的是在有限的键盘输入条件下实现拼音输入功能。这个项目可能着重于优化输入效率,使得用户能通过简单的按键组合快速输入中文...

Global site tag (gtag.js) - Google Analytics