2 qq 31936947 qq_31936947 于 2016.01.23 20:05 提问

C++输入 为什么要加cin.get()才行
c++

struct pizza
{
char band[20];
int weight;
int radius;
};

int main()
{
pizza exp = new pizza;
cout << "radius: ";
cin >> exp->radius;
*
cin.get();**
cout << "bands: ";
cin.get(exp->band,20);
cout << "weight: ";
cin >> exp->weight;
cout << exp->band << " " << exp->weight << " " << exp->radius <<endl;
delete exp;
return 0;
}
为什么要加cin.get()才行

2个回答

caozhy
caozhy   Ds   Rxr 2016.01.23 20:10
已采纳

cin.get()吃掉你输入的回车,否则下面就读取不到正确的数据

rl529014
rl529014   2016.01.23 21:31

用getchar()也可以,功能都一样,吸收掉输入队列中的回车符,这样才能保证正确输入

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C++输入语句‘cin.get( )’语句,加与不加的区别
在看各种C++书的时候,有的程序中会有cin.get(),而有的程序没有。那到底cin.get()有什么作用呢?用过C语言的应该知道getchar(),作用是一样的下面看两个小程序:// code1 #include< iostream >using namespace std;int main() { const int Arsize = 20; char name[ Arsize
ctrl+z和两个回车才结束while循环原因
 while(cin>>value) {  sum += value; }在控制台的环境下,程序可以通过按ctrl+c退出。当按下此组合键的情况下,程序会交给默认的异常处理来解决,即退出程序。若想只退出循环并继续执行程序,可按ctrl+z然后按两次回车即可。cin>>value中读入非零个数则返回cin对象的指针,否则返回0。cin有一个4096字节的缓冲区buf,将输入的字符读入缓冲后并
C++基础:各种输入方法总结,cin、cin.get()、cin.getline()、getline()、gets()、getchar()
在C++中,各种输入方法还是不少的,而且各有所异,本文做一点简要。
scanf()为什么要输入两次才出结果?
编写程序如下 int main() {  int n;  printf("请输入一个数");  scanf("%d\n",&n);  printf("\n");  return 0; } 为什么要输入两下才出结果呢? 这是因为scanf中写了\n,scanf与printf不同,需要敲击一个回车才能进行读入操作。因此不能将两者的用法混淆了
关于C++的cin.get()的问题
来自百度知道的一段文字 cin.get()函数本身就是输入一个字符的。比如: char s[20];  cin.get(s);就会出现编译错误, 改成;char s;  cin.get(s); 就对了 关于cin.get()与cin>>s;的区别就是前者不会忽略空格,回车键,、会把他们当作字符了处理,如:cin.get(s);要是输入:空格 a,那里,字符变量s的值就是一个空格,字符a则会
cin.get和cin.getline在读取一整行时的区别
cin.getline()和cin.get()都是对输入的面向行的读取,即一次读取整行而不是单个数字或字符,但是二者有一定的区别。 cin.get()每次读取一整行并把由Enter键生成的换行符留在输入队列中,比如: #include using std::cin; using std::cout; const int SIZE = 15; int main( ){ cout
C++: cin.get()与cin.getline()
C++: cin.get()与cin.getline()标签: C++ cin.get cin.getlineby 小威威C++继承了C的字符串,定义于<cstring>的头文件中。在下文中,对C中字符串简称为Cstring,对C++中字符串简称为string。字符串的输入有两种类型:一种是单词读取(也就是不包括空格),另一种是行读取(可以包含括号)。 对于单词读取,我们通常用istream中
C++中cin.get(),cin.getline(),cin>>,gets(),cin.clear()使用总结
1.cin.get()  实质:类istream所定义对象cin的重载成员函数 用于读取单字符  istream& get(char&)                                     int get(void) 用于读取字符串  istream &get(char*,int)                                   istrea
C++通过cin.get()输入字符串
#include #include using namespace std; int main() { char str[10000]; char temp; int len = 0; cout << "输入:"; while(1) { temp = cin.get(); if(temp != '\n') str[len++] = temp; else bre
cin.get()处理输入的问题
在C++ primer  中经常遇见while(cin&&cin.get()==/n)的语句,此循环就是处理掉多余的流。实验代码如下:1. string b;   char a[10];   cin.get(a,10);     while (cin.get()!=/n)    continue;   cin>>b;   cout   cout 2.string b;