Я не понимаю, почему этот цикл не выполняет свой блок - PullRequest
0 голосов
/ 29 сентября 2018

играя с кодом в следующей программе, я предположил, что звезда должна быть напечатана на экране, но она выходит из цикла, ничего не печатая, почему хотя бы одна звезда не печатает, когда входит в цикл.

  #include<stdio.h>
void main()
{
    int i,sum_sq=0, sq_sum=0;
    for(i=0;i<=10&&(sum_sq+=i*i)&&(sq_sum+=i);++i)
    {
        printf("*");
    }
    printf("%d",sq_sum*sq_sum - sum_sq);
}

1 Ответ

0 голосов
/ 29 сентября 2018

((i<=10)&&(sum_sq+=i*i)&&(sq_sum+=i)) это условие ложно.вывод

true && 0 && 0 = false;

наконец, компилятор идентифицирует false .Итак, звезда напечатана.Вы попробуйте мой код ниже.

int i, sum_sq = 0, sq_sum = 0;

for(i=0;((i<=10)&&(sum_sq+=(i+1)*(i+1))&&(sq_sum=i+2));++i)
{
    sum_sq += i*i;
    printf("%d ",sum_sq);
    sq_sum+=i;
    printf("%d ",sum_sq);
    printf(" *\n");
}

для цикла каждый раз, если условие истинно или ложно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...