Почему я получаю сообщение об ошибке при передаче аргументов в цикл for? - PullRequest
0 голосов
/ 22 сентября 2019

Я пытаюсь создать программу для вычисления суммы диагональных элементов квадратной матрицы порядка n * n.

    scanf("%d",&n);
    for(i=0;i<n;++i)
    {
        for(j=0;j<n;++j)
        {
            printf("i: %d, j: %d = ",i,j);
            scanf("%d",a[i][j]);
        }
    }
    for(i=0;j=0;i<n;j<n;i==j)
    {
        sum+=a[i][j];
        ++i;++j;
    }
    printf("The trace of the square matrix is: %d",sum);

Я получаю ошибку «ожидаемый») «до»;»токен "в последнем цикле" для ".Интересно, как-то связано с количеством аргументов?Пожалуйста, дайте мне знать, что я делаю неправильно.

1 Ответ

0 голосов
/ 22 сентября 2019

Синтаксис цикла for в C:

for ( init; condition; increment ) {
   statements;
}

Обратите внимание, что init, условие и приращение должны быть one expression.Таким образом, последний цикл должен быть:

for(i=0, j=0; i<n && j<n; i++, j++)
{
    sum += a[i][j];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...