scanf后面跟一个getchar

scanf(“%d",&a);
if(getchar() != ‘\n‘)  printf();else  printf();

这种情况下,我有点迷惑,就做了个实验,结论是:

1.当输完scanf的数后,直接按换行,满足条件  getchar() ==‘\n’

2.当输完scanf的数后,又输入了点其他东西后再按换行,满足条件   getchar != ‘\n‘

时间: 2024-10-12 16:47:48

scanf后面跟一个getchar的相关文章

scanf、gets、getchar

scanf: scanf("%c",..):可以读取空格.换行符.制表符等 scanf("%d",...):开始忽略空格.换行符.制表符,直到读取到一个字符 scanf("%s",...):开始读取时忽略空格.换行符.制表符,直到开始读取字符串,最后以空格.换行符.制表符结束,不丢弃任何字符 gets:直接读取字符串,最后以换行符结束,并且丢掉缓存中的换行符. getchar:读取一个字符. scanf("%d", &

C语言中最常用的三种输入输出函数scanf()、printf()、getchar()和putchar()

本文给大家介绍C语言中最常用的三种输入输出函数scanf().printf().getchar()和putchar(). 一.scanf()函数格式化输入函数scanf()的功能是从键盘上输入数据,该输入数据按指定的输入格式被赋给相应的输入项.函数一般格式为:scanf("控制字符串",输入项列表):其中控制字符串规定数据的输入格式,必须用双引号括起,其内容是由格式说明和普通字符两部分组成.输入项列表则由一个或多个变量地址组成,当变量地址有多个时,各变量地址之间用逗号“,”分隔.sca

C++ printf scanf格式化输入输出 以及getchar

一.C/C++变量类型细节: 对于C/C++来说,最主要的类型也就是整型.浮点型.字符型这三种,对于每一个类型又有不同的条线下的使用类型. 1.整型: 整型又可以分为int(也陈伟long int).short(short基本用不到).long long.对于这三种变量类型,其长度也不同. 值得注意的是在刷题中对于条件的把握.例如甲级题目中有一道题,其目的是判断64位的数字相加之和,此时就不能单纯的使用int来进行存储,而是要使用long long来进行存储,并且要进行溢出判断. 对于int来说

C语言——常用标准输入输出函数 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字符串拷贝函数 strcpy(), strncpy(), strchr(), strstr()函数用法特点

1 首先介绍几个常用到的转义符 (1)     换行符"\n", ASCII值为10: (2)     回车符"\r", ASCII值为13: (3)     水平制表符"\t", ASCII值为 9: (4)     空字符"\0" ,ASCII值为0: (5)     空:NULL (即为0): (6)     空格键space, ASCII值为32: 2 常用输入输出函数 scanf() , 从缓冲区读入数据,以空格,制

c语言输入输出多个字符串

#include <stdio.h> #include <string.h> int main() { char str[50][50]; char *ps[50]; int i,n=0,m=0; scanf("%d%d",&n,&m); /*clear '\n'. scanf()函数接受输入以后,回车被保存在输入流中了, 你在scanf()后面加一个getchar()就好了. 这样会吃 掉多余的回车符,后面的gets()就可以接受输入了.*/

C语言编程之--scanf()函数与getchar()函数搭配来理解C程序的输入缓存(buffer)

博主最近在学习C语言编程,在书中的代码示例中出现了下面的代码段: #include<stdio.h> int main() { char a[5]; int i; printf("请依次输入值:\n"); for(i=0;i<5;i++) { scanf("%c",&a[i]); getchar(); //为什么要加一个getchar()? } printf("\n"); for(i=0;i<5;i++) { pr

关于cin,getchar(),scanf()的注意事项(转)

  问题描述一:(分析scanf()和getchar()读取字符) scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的.但是有时候却就是因为使用这些函数除了问题,却找不出其中的原因.下面先看一个很简单的程序:程序1:    #include <stdio.h>    int main()    {char ch1, ch2;scanf("%c", &ch1); scanf("%c", &

scanf() gets() getchar()

问题描述一:(分析scanf()和gets()读取字符)   | ---------------------------------------------------- scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的.但是有时候却就是因为使用这些函数出了问题,却找不出其中的原因.下面先看一个很简单的程序: 程序1: #include <stdio.h> int main() { char ch1, ch2; scanf("%c

深入了解scanf/getchar/gets/cin等函数

scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的.但是有时候却就是因为使用这些函数除了问题,却找不出其中的原因.下面先看一个很简单的程序: 程序1: #include <stdio.h> int main() { char ch1, ch2; scanf("%c", &ch1); scanf("%c", &ch2); printf("%d %d/n", ch1, c