注册 登录
编程论坛 C++教室

endl为什么换不行?

tantan821 发布于 2010-08-03 16:30, 844 次点击
#include <iostream.h>
int main()
{
    cout<<"输入两个整数:";
    int a,b;
    cin>>a>>b;
    int c,d;
    if (a<=b)
    {
        c=a;
        d=b;
    }
    else
    {
        c=b;
        d=a;
    }
    cout<<"vold of"<<c<<" to "<<d<<" intshi "<<endl;
    for (int i=c,e=1;i<=d;i++,++e)
        cout<<i<<" ";
        if (e%10==0)
        {
            cout<<endl;
        }
    return 0;
}
为什么换不了行?   
9 回复
#2
hzz0632010-08-03 17:35
程序代码:
   for (int i=c,e=1;i<=d;i++,++e)
   {  //注意这里
        cout<<i<<" ";
        if (e%10==0)
        {
            cout<<endl;
        }
  }
    return 0;
}
其实你的代码是运行不了的,原因是 变量e 定义在for语句的作用域中,只能在for的作用域中使用。
我想你是vc6, vc6不能发现这个问题..编译器问题。你可以参考 c++ primer 47 页

[ 本帖最后由 hzz063 于 2010-8-3 17:39 编辑 ]
#3
zgxyz20082010-08-04 10:01
e都没有声明....
#4
tantan8212010-08-04 10:11
已经解决呢,e在for语句里声明定义呢,  if语句是在for语句作用域里应该不会报错啊- -
#5
pangding2010-08-05 00:21
报的错是什么呀?楼主贴出来。

还是没有报错只是运行結果不对呀?
#6
promising2010-08-05 12:16
楼主,你少加了对括弧:
程序代码:
for (int i=c,e=1;i<=d;i++,++e)
    {/////////////////
        cout<<i<<" ";
        if (e%10==0)
        {
            cout<<endl;
        }
    }///////////

 
#7
b8705162010-08-05 13:26
楼上正解
#8
vfdff2010-08-05 23:13
for (int i=c,e=1;i<=d;i++,++e) 循环少个括号
程序代码:
for (int i=c,e=1;i<=d;i++,++e)
        cout<<i<<" ";
        if (e%10==0)
        {
            cout<<endl;
        }
if 条件句不再循环内

#9
ssdj1392010-08-07 12:55
回复 8楼 vfdff
if (e%10==0)没有执行,想下面改改试试
 for (int i=c,e=1;i<=d;i++,++e)
{
        cout<<i<<" ";
        if (e%10!=0)
        {
            cout<<endl;
        }
}
#10
ToBeOOP2010-08-07 17:38
在#include下面添上 using std::endl;
1