Справка по матрице форм (продолжает сбой) - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь распечатать матрицу форм, но моя программа продолжает падать. что не так с моим кодом?

#include <stdio.h>

int main ()
{
    int row, col;

    printf("How many rows?\n");
    scanf("%d", &row);
    printf("How many columns?\n");
    scanf("%d", &col);

    int i=0,j=0;

    while (i<row)
    {
        i ++;

        while(j < col)

        {
            printf("$");
            j ++;
        }
        return(0);
    }
}

Я попытался устранить неполадку, инициализируя счетчики и пытаясь найти синтаксическую ошибку. Также, как я могу стать лучше в устранении проблем? Я программист начального уровня C.

Ответы [ 2 ]

0 голосов
/ 15 мая 2019

Вы возвращаетесь из цикла, это первый цикл с return(0)!

Также, если вам разрешено использовать цикл for, вы можете просто сделать это следующим образом:

#include <stdio.h>

int main (void)
{
    int row, col;

    printf("How many rows?\n");
    scanf("%d", &row);
    printf("How many columns?\n");
    scanf("%d", &col);

    int i = 0, j = 0;

    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            printf("$");
        }
        printf("\n");
    }

    getch();

    return 0;
}
0 голосов
/ 15 мая 2019

include

int main ()
{
    int row, col;

    printf("How many rows?\n");
    scanf("%d", &row);
    printf("How many columns?\n");
    scanf("%d", &col);

    int i=0,j=0;

    while (i<row)
    {
        i++;

        j = 0;
        while(j < col)
        {
            printf("$");
            j++;
        }
//         return(0); you don't need a return here
    }
}

или, лучше использовать цикл for

for (int i = 0; i < row; ++i)
{
    for (int j = 0; j < col; ++j)
        printf("$");
}

Кроме того, проверьте правильность строки и столбца перед их использованием.

if (row < 0 || row > YourRowCount || col < 0 || col > YourColCount)
{
    printf("Error row / col: %d,%d\n", row, col);
    exit(-1);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...