| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 516 人关注过本帖
标题:为什么j要再定义一次?求解~~
只看楼主 加入收藏
木瓜君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:144
注 册:2009-10-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
为什么j要再定义一次?求解~~
程序代码:
#include <iostream.h>
void main()
{
    int a[3][3];
    for ( int i = 0, temp = 1; i <= 2; i++)
    {
           for ( int j = 0; j <= 2; j++,temp++)
           {
               a[i][j] = temp;
               cout << a[i][j] << "  " ;
           }
           cout << endl;
    }
    cout << " After transform :" << endl;
    for ( j = 0; j <= 2; j++)       //这里不再次定义j时,会出错~~
    {
        for ( i =0 ; i <= 2; i++)
        {
            cout << a[i][j] <<"  ";
        }
        cout << endl;
    }

}

不解捏~~~哪位大大解答下?
搜索更多相关主题的帖子: 求解 定义 
2009-12-17 21:30
木瓜君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:144
注 册:2009-10-17
收藏
得分:0 
upupupup~~
自顶~~
2009-12-17 21:51
英英
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:29
专家分:133
注 册:2009-3-3
收藏
得分:10 
我觉得是因为j第一次定义是在第一个for语句内,它的作用域仅局限于for语句的一对大括号内,出了这个范围就必须重新定义。建议你查一下C语言的书,上面有关于变量的作用域的内容。
2009-12-17 22:44
shiyuehai
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:96
专家分:116
注 册:2009-9-4
收藏
得分:10 
作用域的问题了,你的j是定义在第一个for里面的,他仅在第一个for这个块里面。当循环完了之后j的寿命也没了,我的理解
2009-12-17 23:45
木瓜君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:144
注 册:2009-10-17
收藏
得分:0 
thx
2009-12-18 17:08
newCpp
Rank: 5Rank: 5
来 自:火星
等 级:职业侠客
威 望:3
帖 子:256
专家分:375
注 册:2009-8-17
收藏
得分:0 
你可以先去试一下!在一个程序里定义两个相同名称的变量,
试一下运行结果是什么!
然后你将一个变量用{ }
括起来在运行一次看看运行结果
试过之后你就明白了!

编程语言视频教程在线播放学习
2009-12-18 17:17
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
就是作用域的问题。
觉得可以这么写的,是受老旧的 VC 6.0 的影响。它当时实现的很不“标准”~
2009-12-20 09:39
快速回复:为什么j要再定义一次?求解~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039336 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved