Я прочитал некоторые предыдущие вопросы об использовании фигурных скобок, из моего понимания, что нормально не использовать фигурные скобки, если у вас есть только одна строка, но если бы вы использовали много строк кода, вы бы необходимо использовать скобки.фигурные скобки - рекурсия
У меня есть задание, и инструктор требует от нас использовать скобки для каждой ситуации для хорошей привычки. Он также позволяет нам исследовать и использовать образец кода.
Теперь, мой вопрос, я нашел пример кода, который не использует скобки. Когда я пытаюсь добавить скобки в код, это делает мой вывод неправильным. Может кто-нибудь объяснить мне, как правильно использовать фигурные скобки в нескольких строках кода и предложить рекомендацию о том, как я могу достичь результатов, которые я ищу.
Вот код, если выход правильно:
void printStars(int i, int n)
// The calling program invokes this function as follows: printStars(1, n);
// n >= 1
{
if(i == n)
{
for(int j = 1; j <= n; j++) cout << '*'; cout << endl;
for(int j = 1; j <= n; j++) cout << '*'; cout << endl;
}
else
{
for(int j = 1; j <= i; j++) cout << '*'; cout << endl;
printStars(i+1, n); // recursive invocation
for(int j = 1; j <= i; j++) cout << '*'; cout << endl;
}
} // printStars
int main() {
int n;
int i=0;
cout << "Enter the number of lines in the grid: ";
cin>> n;
cout << endl;
printStars(i,n);
return 0;
}
и когда я пытаюсь «очистить его» глядя, как это:
void printStars(int i, int n)
// The calling program invokes this function as follows: printStars(1, n);
{
if(i == n)
{
for(int j = 1; j <= n; j++)
{
cout << '*';
cout << endl;
}
for(int j = 1; j <= n; j++)
{
cout << '*';
cout << endl;
}
}
else
{
for(int j = 1; j <= i; j++)
{
cout << '*';
cout << endl;
}
printStars(i+1, n); // recursive invocation
for(int j = 1; j <= i; j++)
{
cout << '*';
cout << endl;
}
}
} // printStars
int main() {
int n;
int i=0;
cout << "Enter the number of lines in the grid: ";
cin>> n;
cout << endl;
printStars(i,n);
return 0;
}
помнить, что оператор заканчивается точкой с запятой (';'). – wimh
да, я не хватает одного? –
компилятор не против, если вы поместите несколько операторов в строку. Но если вы добавите фигурные скобки вокруг одного оператора, вы не должны добавлять его во второй оператор в той же строке. – wimh