В C и C ++ if
применяется к следующему выражению . Поэтому, когда вы пишете
if (A[i] < 0)
p = p * U[i] * U[i];
cout << "Test" << p << "\n";
, if
применяется к p = ...
, который является следующим оператором, а не применяется к после этого оператора cout << ...
.
Чтобы превратить два оператора в один, используйте составной оператор :
if (A[i] < 0)
{
p = p * U[i] * U[i];
cout << "Test" << p << "\n";
}
Две фигурные скобки обозначают составной оператор, который равен one заявление, и if
применяется ко всему этому утверждению.