scnaf()读入字符串需要注意的地方
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
char ch[],cch[];
int a;
cin>>ch;
scanf("%d%s",&a,cch);
printf("%s\n%s",ch,cch);
return ;
}
scanf在读入字符串的时候是不加&,因为数组本身就是个地址
char ch[]
scanf("%s",ch);
当然如果你是在是不确定输入对不对,你就用cin,虽然慢一点,但是很稳定
cin:运算符“>>”的作用是跳过空白,读入后面的非空白字符,直到遇到另一个空白字符为止,并在串尾放一个字符‘\0’。
所以在使用cin输入一个中间有空格的字符串时,会出现问题。
解决方案:用gets();
一个小scanf的小贴士——来自小爷永远不死的博客
1、使用scanf("%c", &a)读取a(a是char类型),如果读取之前有换行符或者空格,那么a就会把之前的换行符或者空格读取到,解决方法就是这之前先getchar()一下。
2、而如果用scanf("%s", str)读取str(我发现str是char或者char[]都是可以的),不会读取前边的换行符或者空格。
3、其他数值类类型是没有这样的问题的。
4、二维char数组不能用scanf("%s", str[i][j]),可以用scanf("%s", str[i])或者scanf("%c",&str[i][j]),前者速度更快,现在想了想应该是数组名可以表示数组首地址的原因。(3/6/2014 补)
scnaf()读入字符串需要注意的地方的更多相关文章
- SharePoint服务器将连接配置数据库的连接字符串保存在什么地方?
经常有人问我这个问题,SharePoint服务器将连接配置数据库的连接字符串保存在什么地方?虽然其他SharePoint服务器场设置都是保存到了配置数据库里面,但连接配置数据库本身的连接字符串,肯定是 ...
- 读入字符串/字符 scanf与getchar/gets区别
1. 读入字符 scanf/getchar:空格.Tab.回车都可以读入.但要以回车作为结束符. 所以当读入字符时,注意去掉一些干扰输入的字符,如空格和回车 2. 读入字符串 scanf:不能读入空格 ...
- C/C++如何整行读入字符串?
在写代码的过程中,经常要一行一行的读入字符串进行处理,这里我总结了一些方法,供大家参考. 方法一:scanf()读入char[] 使用方法: ]; scanf("%[^\n]",& ...
- 原来scanf读入字符串还能这样..
(本文针对于NOIP Day1 玩具迷题) (这是弱鸡写的)(字符串用char二维,本质一样的) 在NOIP成功AC了这道题,结果OJ上被string卡了时间,没办法只能用scanf了.....百度看 ...
- UVA 548.Tree-fgets()函数读入字符串+二叉树(中序+后序遍历还原二叉树)+DFS or BFS(二叉树路径最小值并且相同路径值叶子节点权值最小)
Tree UVA - 548 题意就是多次读入两个序列,第一个是中序遍历的,第二个是后序遍历的.还原二叉树,然后从根节点走到叶子节点,找路径权值和最小的,如果有相同权值的就找叶子节点权值最小的. 最后 ...
- c语言中%s与%c对读入字符串的区别
对于scanf函数,需求%s类型时,\n是不会影响scanf内容的对于需求%c类型时,\n也是字符,自然会有影响.
- PHP的file_get_contents()方法,将整个文件读入字符串中
<?php $post_data = file_get_contents("e:\\1.txt"); echo $post_data; ?> 更多信息看这里:http: ...
- 为什么operator>>(istream&, string&)能够安全地读入长度未知的字符串?
一般而言,实现"读入用户输入的字符串",程序中自然不能对用户输入的长度有所限定.这在C++中很容易实现,而在C中确没那么容易. 这一疑问,我在刚学C++的时候也在脑中闪现过:不过很 ...
- C语言字符串读入函数笔记
gets(str)函数和scanf("%s",str)区别: 转自:https://zhidao.baidu.com/question/290403568.html 二者都是从终端 ...
随机推荐
- SDWebImage浅析
第一部分 SDWebImage库的作用: 通过对UIImageView的类别扩展来实现异步加载替换图片的工作. 主要用到的对象: 1)UIImageView(WebCache)类别,入口封装,实现读取 ...
- 系统性能模块psutil
psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括cpu.内存.磁盘.网络等)信息.它主要用于系统监控,分析和限制系统资源及进程的管理.它实现了同等命令行工具提供的功能,如p ...
- 联合文件系统 unionfs
- python中的值传递和引用传递
Python中的变量是没有类型的,我们可以把它看做一个(*void)类型的指针,变量是可以指向任何对象的,而对象才是有类型的. Python中的对象有可变对象(number,string,tuple等 ...
- Ajax跨域请求action方法,无法传递及接收cookie信息(应用于系统登录认证及退出)解决方案
最近的项目中涉及到了应用ajax请求后台系统登录,身份认证失败,经过不断的调试终于找到解决方案. 应用场景: 项目测试环境:前端应用HTML,js,jQuery ajax请求,部署在Apache服务器 ...
- Emgu在引用openCV时提示:无法加载 DLL“opencv_core2410”: 找不到指定的模块。
在引用开源代码openCV时发现了如下问题: 无法加载 DLL“opencv_core2410”: 找不到指定的模块. (异常来自 HRESULT:0x8007007E). 解决方法如下: 将Emgu ...
- 主攻ASP.NET MVC4.0之重生:使用反射获取Controller的ActionResult
示例代码 public ActionResult TypeOfForName() { Type typeinfo = typeof(CustomerClassController); //typeof ...
- 20145230java实验报告二
20145230实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 ...
- Unity 简易监听框架
全局维护一个字典,字典中的key为字符串或者自定义类型,value为委托, using System.Collections; using System.Collections.Generic; us ...
- Qt编译器
有两种,MSVC和MINGW Qt 中有两种方式编译,一种是MinGW ,另一种MSVC. MSVC是指微软的VC编译器: MingGW是指是Minimalist GNU on Windows的缩写. ...