scanf("%c", &ch)和scanf(" %c", &ch)和scanf("%s", str)的注意事项

scanf("%c", &ch)和scanf(" %c", &ch):

%c会读取回车和空格,所以一定要使用后者,即在%c前面加一个空格。

%s用于读取char[]时,会忽略空格和回车,所以不会有这些问题。

原文地址:https://www.cnblogs.com/FengZeng666/p/11448043.html

时间: 2024-10-19 14:07:25

scanf("%c", &ch)和scanf(" %c", &ch)和scanf("%s", str)的注意事项的相关文章

黑马程序员——C语言基础---scanf函数

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 1,scanf函数的概念 scanf函数也叫阻塞式函数,也就是说当函数执行后,会等待用户的输入,如果用户不输入任何内容,他会一直等待.如果使用这个函数,必须包含一个头文件 stdio.h. 2,scanf函数的作用 从键盘接受用户输入的内容,保存到指定的变量中. 3,scanf函数的格式 scanf("格式控制符",输入项的地址列表); 4,scanf函数的用法 输入一个整数 int

C语言如何清除scanf()缓存

(1)清除缓存的函数是: void safe_flush(FILE *fp) { int ch; while( (ch = fgetc(fp)) != EOF && ch != '\n' ); } (2)然后我们在使用的时候,直接调用就可以了: scanf("%d",&k); safe_flush(stdin); 这样就可以清除缓存带来的问题了! (3)案例演示 a.当我们不清除scanf所带来的危害的时候: #include<stdio.h> #i

C语言-数据类型、常量、变量、变量作用域、printf、scanf函数

4.数据类型介绍 数据:文本数据.音频.视频.图像.数字 C语言中有5大数据类型:基本类型.构造类型.空类型.指针类型.自定义类型 基本数据类型: 整型    长整型long int    整型int(4)    端整型short int 实型    单精度float(4)    双精度 double(8) 字符型   char(1) 内存: 1> 内存分配:4G存储大小:4*1024*1024*1024Byte; 内存的基本单元为一个字节(就是8bit) 2> 内存区域:栈 (存放局部变量)

CH Round #56 - 国庆节欢乐赛解题报告

最近CH上的比赛很多,在此会全部写出解题报告,与大家交流一下解题方法与技巧. T1 魔幻森林 描述 Cortana来到了一片魔幻森林,这片森林可以被视作一个N*M的矩阵,矩阵中的每个位置上都长着一棵树,其中一些树上结有能够产生能量的魔力水果.已知每个水果的位置(Xi,Yi)以及它能提供的能量Ci.然而,魔幻森林在某些时候会发生变化:(1) 有两行树交换了位置.(2) 有两列树交换了位置.当然,树上结有的水果也跟随着树一起移动.不过,只有当两行(列)包含的魔力水果数都大于0,或者两行(列)都没有魔

getchar() 和 scanf(&quot;%c&quot;)的区别

getchar()和scanf("%c")的功能都是从STDIN读一个字符,单论功能两者没有区别. 但两者的返回值是有区别的: ------------------------------------------------ scanf()的详尽介绍请移步这里. ------------------------------------------------- scanf()的返回值的含义是: On success, the function returns the number of

关于scanf与cin哪个快的问题

一开始入c++的时候成天跑cin,cout 直到有一天用cin,cout超时 才知道scanf比cin快的多 但是后来又听说加了ios::sync_with_stdio(false);的cin跟飞一样 那么到底哪个快呢? 咱们来做个小测试 题目选择:https://www.luogu.org/problem/show?pid=3368#sub 树状数组模板2(因为这题数据比较大) 首先是龟速的cin与cout 成功的T掉三个点 =.= 那么scanf呢?? 完美的完成任务!! 身负众望的ios:

cin与getchar、scanf之间的区别

cin会忽略空格和回车 getchar与scanf不会忽略回车和空格 // exam1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using namespace std; int main(void) { char ch; ch=getchar(); printf("%d\n",ch); cin>>ch; printf("%d\n",ch

scanf()总结--从网上收来的,感觉很好,用来提醒自己,c语言真是博大精深!!【转】

转自:http://www.cnblogs.com/xiaocai905767378/archive/2011/06/01/2067526.html scanf杂谈 不得不说C语言真是博大精深!相比其他很多语言来说,C语言给人的表象就是结构精炼,内容简单.注意,那仅仅是表象!的确,C语言入门简单得很.但要真正做到掌握C语言甚至达到驾轻就熟的程度,谁敢说容易?       就从函数scanf说起吧.对于学习C的朋友来说,最熟悉的函数除了入门第一个"Hello World"程序用到的pri

一起talk C栗子吧(第三十八回:C语言实例--你了解scanf吗)

各位看官们,大家好,上一回中咱们说的是获取当前日期和时间的例子,这一回咱们说的例子是C语言中的库函数:scanf.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,说到C语言中的库函数:scanf,我想大家都认识它,而且知道它是用来从标准输入中(这里可以当作是终端)获取输入的内容,不过关于该函数的一些小细节,我估计大部分人都不是十分了解,接下来我就把这些小的细节说给大家听. scanf函数有返回值 大家在平常使用scanf函数时,都是为了从终端中获取输入的值,比如:scanf("%d&