为什么会报错

aljj 2003-10-17 02:47:33
这个程序为什么报错
说未定义i变量??


#include <iostream.h>
#include <iomanip.h>

void main()
{
cout <<" *";
for(int i=1; i<=9; i++)
cout <<setw(4) <<i;
cout <<"\n-----------------------------------------\n";

for(int i=1; i<=9; i++){
cout <<setw(3) <<i;
for(int j=1; j<=9; j++)
cout <<setw(4) <<i*j;
cout <<endl;
}
}
...全文
32 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
aljj 2003-10-17
  • 打赏
  • 举报
回复
是用的Microsoft Visual C++ 6.0编译呀
我也觉得奇怪
不过经各们一说
有点道道了好像
蝎子i软件 2003-10-17
  • 打赏
  • 举报
回复
如果报错,使你的编译器有问题。

不应该报错的,
到使用时才定义变量正是C++的一大优点.
tonyzhengjq 2003-10-17
  • 打赏
  • 举报
回复
同意楼上的!
snowdragon 2003-10-17
  • 打赏
  • 举报
回复
尽量不要这样写程序,最好用到的变量在前面定义,后面使用,你这样的写法不同的编译器处理可能是不一样的,也容易产生歧异

祝顺利
Hot_Forever 2003-10-17
  • 打赏
  • 举报
回复
i重定义,其实按照标准C++是没有问题的,不过用VC编译的话还是会出错
darcymei 2003-10-17
  • 打赏
  • 举报
回复
是重定义吧,把 i 前的int 去掉
acqy 2003-10-17
  • 打赏
  • 举报
回复
你的程序应该修改如下:
#include <iostream.h>
#include <iomanip.h>

void main()
{
cout <<" *";
for(int i=1; i<=9; i++)
cout <<setw(4) <<i;
cout <<"\n-----------------------------------------\n";

for(i=1; i<=9; i++){
cout <<setw(3) <<i;
for(int j=1; j<=9; j++)
cout <<setw(4) <<i*j;
cout <<endl;
}
}

因为你重复定义了i

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧