为什么在执行下面程序中的input输入函数时,系统不会自动换行,而是要自己输入回车,明明有cout<<endl啊?

#include<iostream>usingnamespacestd;classMatrix{public:Matrix();voidinput();friendMat... #include<iostream>
using namespace std;
class Matrix
{public:
Matrix();
void input();
friend Matrix operator+(Matrix&,Matrix&);
void display();
private:
int a[2][3];
};
Matrix::Matrix()
{for(int i=0;i<2;i++)
{for(int j=0;j<3;j++)
{a[i][j]=0;}
}
}
void Matrix::input()
{cout<<"please input the data:"<<endl;
for(int i=0;i<2;i++)
{for(int j=0;j<3;j++)
{cin>>a[i][j];}
cout<<endl;
}
}

Matrix operator+(Matrix&c1,Matrix&c2)
{Matrix c;
for(int i=0;i<2;i++)
{for(int j=0;j<3;j++)
{c.a[i][j]=c1.a[i][j]+c2.a[i][j];}
}
return c;
}
void Matrix::display()
{for(int i=0;i<2;i++)
{for(int j=0;j<3;j++)
{cout<<a[i][j]<<" ";}
cout<<endl;
}
}

int main()
{Matrix c1,c2,c3;
c1.input();
c2.input();
c3=c1+c2;
c3.display();
return 0;
}
若不按回车只是按空格则能一直输入数据
展开
 我来答
Irreappearable
2012-03-03 · TA获得超过4957个赞
知道大有可为答主
回答量:1423
采纳率:25%
帮助的人:3189万
展开全部
没有看代码,但是就你的问题标题来说的话,我想说:输入和输出是没有关系的

cout<<endl是输出一个换行,和你cin能读入什么是没有关系的,否则你输出了一句话“请输入xxx",岂不是接下来就会读到”请“这个字?
更多追问追答
追问
可能是我表达有误吧,但是我想问的是只看中间部分:
void Matrix::input()
{cout>a[i][j];}
cout<<endl;
}
}
为什么系统没执行 cout<<endl;自动换行,而是要我自己输入回车才换行
追答
恩..这是个好问题
我试了一下,在我机器上不可重现...
运行结果如图,从图中可以看出,每输入三个数,就会自动输出一个换行
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式