Расшифруйте, что значит команда
Что значит cout << ((right == 0) ? 0 : -1) << endl; //условие ? команда 1 : команда 2.
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
char str[500];
cin.getline(str, 499);
int right = 0;
int h;
int g = 1;
if (str)
{
for (const char* s = str; *s; s++)
{
if (*s == '(')
{
right++;
}
else if (*s == ')')
{
if (--right < 0)
{
cout << "Error position = " << s - str << endl;
break;
}
if (right > 1)
{
h = right;
right = g;
g = h;
}
}
}
}
if (right >= 0)
{
cout << ((right == 0) ? 0 : -1) << endl; //условие ? команда 1 : команда 2.
}
system("pause");
return 0;
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Тернарный оператор
условие ? выражение_истинно : выражение_ложно
Если условие истинно, все выражение принимает значение выражение_истинно, в противном случае - выражение_ложно.
cout << ((right == 0) ? 0 : -1) << endl;
Если right равно 0, выводится 0, в противном случае - -1.