首页 > 解决方案 > 我不明白为什么我的程序中的 while 循环不起作用

问题描述

谁能解释我为什么这个程序不起作用?它应该打印所有数字,但它不这样做。为什么会这样?非常感谢您提供的任何帮助。

#include <stdio.h>
int main(){
    int i = 0;
    int j = 0;
    int doubleCharArray[2][7] = {{1,2,3,4,5,6},{7,8,9,10,11,12}};
    while(i < 2){
        while(j < 7){
            printf("%d ",doubleCharArray[i][j]);
            j++;
        }
        i++;
    }
    return 0;
}

标签: arraysloopswhile-loop

解决方案


您应该在打印每个数组后将 j 分配给 0。

#include <stdio.h>

int main(){
    int i = 0;
    int j = 0;
    int doubleCharArray[2][7] = {{1,2,3,4,5,6},{7,8,9,10,11,12}};
    while(i < 2){

        while(j < 6){/* Replaced 7 to 6  */
            printf("%d ",doubleCharArray[i][j]);
            j++;
        }
        j = 0;/*  Added this, re-assigning j to 0 */ 
        i++; 

    }
    return 0;
}

检查代码中的注释。


推荐阅读