значение s и почему оно такое ? что конкретно происходит здесь s += A[i]>0;
#include <iostream>
using namespace std;
int main()
{
int A[10]={0,1,2,3,4,5,6,7,8,9};
int s = 1;
for (int i = 0; i < 10; i++)
{
s += A[i]>0;
}
cout << s;
}
Ответы (1 шт):
Автор решения: teran
→ Ссылка
В си-подобных языках конструкция x += y это сокращенная запись x = x + y.
справа то знака (оператора) присваивания у вас логическое выражение a[i] > 0. Логическое выражение при вычислении принимает значение true или false, а при сложении неявно приводится к целому типу и становится 1 или 0.
Таким образом, когда элемент массива положительный, то получаем s += 1, а если 0 или меньше, то s += 0. В итоге данный цикл считает число положительных элементов массива.
Возникает вопрос, почему начальное значение s = 1, но тут вам подскажет только тот, кто этот код написал.