cin和gitchar的区别
cin是iostream(输入输出类) 类下的istream(输入类)类的对象,作用是顺序输入字符串。cin.get()是cin的方法。cin.get()是C++面向对象的操作,getchar()是C语言面向过程的操作。cin的返回值是istream的引用,getchar()的返回是int。
关于cin的具体写法,cin是C++中已定义好的对象,人工定义如下istream & operator >> (istream &cin, C &c); 即cin的返回是istream的引用
if((ch=getchar())=='#')
“=”的结合时从右到左
ch=getchar(),是一个整体
我是要先输入一个字符并且赋值给ch,
在把ch和其它字符比较
故要加括号
(ch=getchar())!=‘N ’
首先出现这个,他想要实现的就是
接收字符给ch,再把ch和N比较
这一题主要考察”=“的结合,
首先!=,==优先级高于=
是从右到左的 不打括号就是输入一个字符和N比较把比较的结果赋值给ch。
getchar的原型为
int getchar(void);
功能为从终端读取一个字符 并返回
所以它的返回值应该存在一个变量里面
由于是从终端取一个字符 所以大多数时候是存在字符型变量中的
char c = getchar();
但这样的操作实际上是不正规的
因为getchar的返回值是int型 标准做法是
int c = getchar(); 区别只有一个 就是当出错的时候
int型时会返回一个EOF 其值为-1 这个只有在用int的时候 才会体现出来
如果用char型 那么EOF会和终端中可能输入的ascii码0xff混淆 也就是说 如果不需要判断出错 或者终端输入为可读字符时 用char和int没有区别
如果需要判断出错情况 且终端输入为bin类型 那么需要用int
ostream是个定义了输出流的类,用于输出的,不是标准输出,标准输出是cout,ifstream和ofstream分别是从istream和ostream继承来的,只不过他们的作用对象是文件流而已。 他们的关系就是子类和父类之间的关系,我如果具体说的话会越来越麻烦,我想你需要把C++的OO思想复习以下,你应该就会很容易理解了。 i代表输入input
o代表输出output
stream//流
iostream//输入输出流,这只是C++的一个流文件,因为C++的输入输出都是流处理的
istream//就是只管输入的流
ostream//就是只管输出的流
cin>>//这是输入
cout>>//这是输出
cin和gitchar的区别的更多相关文章
- cin.get()和cin.getline()之间的区别
cin.getline()和cin.get()都是对输入的面向行的读取,即一次读取整行而不是单个数字或字符,但是二者有一定的区别. cin.get()每次读取一整行并把由Enter键生成的换行符留在输 ...
- [C/C++] 输入函数getline(cin,str) 与cin.getline(str,int)区别
cin.getline()函数是处理数组字符串的,其原型为cin.getline(char * , int),第一个参数为一个char指针,第二个参数为数组字符串长度. getline(cin,str ...
- 基础篇(1):c++程序基本结构
本人是初中生,原用Pascal语言,现转c++,所以写几篇博客,分享一下. 补一句,我是一边转c++一边写博客,所以可能会有错误,望过路大神能指出. 参考书籍:<信息学奥赛一本通>< ...
- C++_STL基础案例
C++ C++三种容器:list.vector和deque的区别:https://blog.csdn.net/gogokongyin/article/details/51178378 一.容器 小常识 ...
- c++中获取字符cin,getchar,get,getline的区别
http://www.imeee.cn/News/GouWu/20090801/221298.html cin.get()与getchar()函数有什么区别? 详细点..C++中几个输入函数的用法和区 ...
- scanf 与 cin 的区别
在论坛上看到有人提出一个如下的问题,在此总结一下. 原问题: http://topic.csdn.net/u/20110414/22/90d0606c-9876-48e4-9b69-bd8bd8a41 ...
- C++获取字符cin,getchar,get,getline的区别
原创作品,转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5241544.html 1.cin>> 1)最常见的是获取输入的一个字符或数字,如 in ...
- 关于scanf 与 cin gets(),getline()......输入输出字符串的区别
很对人对于字符串的输入输出一直是比较模糊的,今天总结一下几个常用的输入流符号对于输入字符串时的区别: 1.scanf(),首先 它遇到空格或回车键(\n)就会结束,并且会将回车符算入字符串中: 2.c ...
- 日常笔记4关于cin、cin.get()、cin.getline()、getline()使用区别
1.关于PAT中段错误 使用字符数组出现错误: char str[256]; 报错段错误,然后改用C++中的string 改成: string str; 同char数组一样,也可以使用下标来取单个字符 ...
随机推荐
- Spring bean作用域
全当知识要点记录了,大家随意踩踩. spring的作用域有以下几种singleton作用域prototype作用域request作用域session作用域global-session作用域 1. si ...
- Java--不可覆盖的方法
私有方法不能被覆盖: 因为private被自动认为final,对子类是屏蔽的,那么子类中的相同方法就是一个新的方法,编译器不会报错但也不会按期望运行: public class ClassA { pr ...
- Chrome经常新标签页打开http://destyy.com/qNHR3u
经常新标签页打开http://destyy.com/qNHR3u网址. 在历史记录里查询 chrome://history/?q=destyy.com ,发现最早访问是25日10点34分05.貌似那个 ...
- PHP分多步骤填写发布信息的简单方法实例代码
1.php 复制代码 代码如下: <form name=form1 id=form1 method=post action=2.php> 基本信息1:<input type=text ...
- jdbc练习demo
//连接云端服务器数据库工具类 public class TestJDBCUtil { public static String driver="com.mysql.jdbc.Driver& ...
- PS7.0快捷键和使用技巧
选择工具:矩形.椭圆选框工具 [M]裁剪工具 [C]移动工具 [V]套索.多边形套索.磁性套索 [L]魔棒工具 [W] 编辑工具:修复画笔.修补工具 [J]画笔.铅笔工具 [B]橡皮图章.图案图章 [ ...
- Redis 主从分离
首先配置redis.conf文件如下6个位置 cp 多个redis.conf文件 开启daemonize yes PID文件名字 端口 log文件名字 dump.rdb名字 配置: 主机不动,配置从机 ...
- Git----远程仓库之添加远程库02
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub上创建一个Git库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...
- 智能指针--C++
智能指针(一):STL auto_ptr实现原理 智能指针实际上是一个类(class),里面封装了一个指针.它的用处是啥呢? 指针与内存 说到指针自然涉及到内存.我们如果是在堆栈(stack)中分配了 ...
- nodejs-supervisor
小技巧——使用 supervisor 如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪 ...