| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 441 人关注过本帖
标题:关于for循环出现的异常情形
只看楼主 加入收藏
捍卫梦想
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-10-1
结帖率:50%
收藏
已结贴  问题点数:8 回复次数:2 
关于for循环出现的异常情形
for循环中的自增变量自增到1498时,突然一下跳到1501。一开始我以为是计算机意外计算错误,就重复实验了一次,结果每次都是一样从1498跳到1501。我单独另建文件进行for循环测试,能正常进行自增1的运算。

代码如下:
int gf2rref(int **matrix, int nRow, int nCol)
{
    FILE *fp;
    int rank = 0;
    int row, col;
    int i, j;
    int temp;

    for(col = 0; col < nCol; col++)
    {
        /* 查找第col列中第col行及col行以下的第一个1所在的行 */
        row = col;
        while(row < nRow && matrix[row][col] == 0)
            row++;

        if(row < nRow)
        {
            rank++;
图片附件: 游客没有浏览图片的权限,请 登录注册

//            printf("col=%d rank=%d,  ", col, rank);

            if(row > col)
                for(i = col; i < nCol; i++) /* 交换第row行和第col行 */
                {
                    temp = matrix[col][i];
                    matrix[col][i] = matrix[row][i];
                    matrix[row][i] = temp;
                }

            for(i = 0; i < nRow; i++)
                if(i != col && matrix[i][col] == 1)
                    for(j = col; j < nCol; j++) /* 第col行加到第i行,使第col列(col,col)为1,其它位置元素值为0 */
                        matrix[i][j] ^= matrix[col][j];
        }
    }

    if((fp = fopen("recoding32.txt", "w")) == NULL)    // 打开存放RS编码二进制形式文件
        {
            printf("cannot open the file\n");        // 如果打开时出错,就输出“打不开”的信息
            exit(0);                                // 终止程序
        }
    for(i = 0; i < nRow; i++)
    {
        for(j = 0; j < nCol; j++)
            fprintf(fp, "%d", matrix[i][j]);

        fprintf(fp, "\n");
    }
    fclose(fp);  

    return rank;  // 返回矩阵的秩
}
搜索更多相关主题的帖子: 计算机 matrix 
2015-02-05 13:45
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:4 
计算机肯定不会发神经的,你应该在for(col = 0; col < nCol; col++)后立即printf col,否则经过那么多if后怎么可能准确?

能编个毛线衣吗?
2015-02-05 14:15
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1694
专家分:4282
注 册:2007-12-27
收藏
得分:4 
你给出的代码不产生图片里的输出。
另外调用这个函数的时候传给matrix的实参是什么东东?

[ 本帖最后由 forever74 于 2015-2-5 16:51 编辑 ]

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2015-02-05 16:41
快速回复:关于for循环出现的异常情形
数据加载中...
 
   



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

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