标题:两个for循环嵌套的表达式1的省略
只看楼主
编程吗
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2018-3-13
结帖率:33.33%
 问题点数:0 回复次数:4 
两个for循环嵌套的表达式1的省略
#include<stdio.h>
int main() {
    int i=0, j=0;
    int temp=0;
    //temp= 0;
    //i = 0; j = 0;
    int a[3][3] = { 1,2,3,4,5,6,7,8,9 };

    printf("初始:\n");
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            printf("%d", a[i][j]);
        }
        printf("\n");
    }



    /*******************************************************/
    printf("转置方法1:\n");
    for (i=0; i < 3; i++) {
        for (j=i; j < 3; j++) {
            temp = a[i][j];
            a[i][j] = a[j][i];
            a[j][i] = temp;
        }
    }
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            printf("%d ", a[i][j]);
        }
        printf("\n");
    }
   
    /*******************************************************/
    printf("转置方法2:\n");
    for (; i < 3; i++) {
        for (; j < 3; j++) {
            temp = a[i][j];
            a[i][j] = a[j][i];
            a[j][i] = temp;
        }
    }
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            printf("%d ", a[i][j]);
        }
        printf("\n");
    }

   

    getchar();
    getchar();
    getchar();
    return 0;

}
当把转置2放在转置1后面就可以正常转置,放在1前面就无法转置这是为什么
搜索更多相关主题的帖子: for temp printf i++ 转置 
2019-01-21 23:09
豆豆的滴
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:贵宾
威 望:33
帖 子:368
专家分:1087
注 册:2018-5-7
得分:0 
转置2次不是应该变回来么
2019-01-22 11:19
了无此生
Rank: 3Rank: 3
来 自:粤地潮州
等 级:论坛游侠
威 望:3
帖 子:82
专家分:121
注 册:2018-11-14
得分:0 
因为输出初始的数组之后,i == 3,j == 3,若把转置2置于转置1前面,循环直接退出,不会进行转置2



可以在转置2的for语句第一个分号前添加相应的等式

睡不醒的学渣(^・ω・^ )
2019-01-22 16:09
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
for (; i < 3; i++) {
        for (; j < 3; j++) {  //循环变量没有被初始化

DO IT YOURSELF !
2019-01-23 09:03
lxk1732942
Rank: 6Rank: 6
等 级:侠之大者
威 望:7
帖 子:450
专家分:425
注 册:2018-9-4
得分:0 
1前2后,2根本就没有被执行;2前1后,执行了两次,被转回来了,感觉上是有问题,但是两者都很正常,你可以在1和2之间加一个输出函数看下效果
2019-01-23 09:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-492788-1-1.html




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

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