C++宏定义数定义数组长度

#include <iostream>
using namespace std;
#define N 6
void main()
{

int a[N],b[N],i,m;
for(i=0;i<N;i++)
cin>>a[i]>>endl;
b[0]=a[0];
for(i=1;i<N;i++)
{
if(b[i-1]>0)
b[i]=b[i-1]+a[i];
else b[i]=a[i];
if(b[i-1]>m)
m=b[i-1];
}
cout<<"最大子段和为:"<<m<<endl;

编译报错 error C2679: binary '>>' : no operator defined which takes a right-hand operand of type '' (or there is no acceptable conversion)

cin>>a[i]>>endl;//endl为输出换行一般放在cout<<endl;表示换行,可有可无,你可以用输出"\n"来代替
另外你的m未经赋值就使用了,这是个不好的习惯;虽然c和c++有初始化为0的习惯,但如果是char类型的数据呢
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-11
cin>>a[i]>>endl;改为cin>>a[i]就可以了。
cin>>endl;不合法,endl是系统已经定义好的控制符了。怎么能cin把数据赋给endl呢?对吧。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网