c++中关于char与cin的疑惑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++中关于char与cin的疑惑相关的知识,希望对你有一定的参考价值。

char的声明有点疑问
比如 char c;
cin>>c;
此时为什么可以输入很多 比如输入 abcdefghi char类型不是不能接受字符串类型吗,因为c不是char数组,再说输入的也不是一个字符,对char来说很长啊。

其次 当再次使用
cin>>c;
的时候读取一个字符,为什么cin每次只读取一个字符啊,上面这些把我搞混了,请大家指点

因为你在输入的时候,只是输入到缓存,并没有传给变量C。
当按回车传给变量C的时候多余的就会被抛弃并报错。追问

并没有抛弃并报错啊

参考技术A 因为c是字符型变量,每次只会输入一个给变量c。
如果你想输入一串字符(如abcdef),可以使用数组指针
(如
define N 6;
char c[N];
for(i=0;i<N;i++)
cin>>c[0];

这样字符串输入成功,输出亦然。
参考技术B 感觉这跟c语言的getchar很像:
两者都是读入一个字符串,但是只把字符串的第一个字符传给变量
你输入abcdefghi,那么char就是a
参考技术C 你 cout 下看看是什么样子的....

以上是关于c++中关于char与cin的疑惑的主要内容,如果未能解决你的问题,请参考以下文章

C++中关于返回空指针问题

关于C++类成员函数转换的疑惑,各位高手帮忙看下··

C++大纲及疑惑点一

C++大纲及疑惑点一

C++大纲及疑惑点一

C++大纲及疑惑点二