Как исправить этот код, написанный на Xcode? В основной функции Xcode отображает ошибку: определение функции здесь не разрешено - PullRequest
0 голосов
/ 29 марта 2020
#include <stdio.h>

int f(int x, int y) {

  for (int i = 10; i > 5; i--) {

    if (x % i == 0) {

      y = x ^ 3;
      printf("x is %d and y is %d\n", x, y);
      return x + y;
    }

    else {

      y = x + 1;
      printf("x is %d and y is %d\n", x, y);
      return x * y;
    }
  }

  int main() { // I am getting error on this line.Function definition is not
               // allowed here.
    int a = f(30, 10);
    int b = f(20, 5);
    return 0;
  }
}

Xcode отображает это как проблему разбора. пожалуйста, помогите мне исправить этот код.

Ответы [ 2 ]

1 голос
/ 29 марта 2020

Вы пропустили a}, чтобы завершить функцию f (). Поэтому вы по ошибке поместили main () внутри функции f ().

0 голосов
/ 29 марта 2020
  1. Здесь закрывающая скобка } из int f(int x, int y) отсутствует. Я добавил комментарии внутри самого кода.
  2. В конце вашей программы добавлена ​​еще одна закрывающая скобка }, которая не требуется.

Исправленный код:

#include <stdio.h>

int f(int x, int y) {

  for (int i = 10; i > 5; i--) {

    if (x % i == 0) {

      y = x ^ 3;
      printf("x is %d and y is %d\n", x, y);
      return x + y;
    } //Closing brace of 'if' condition
    else {

      y = x + 1;
      printf("x is %d and y is %d\n", x, y);
      return x * y;
    } //Closing brace of 'else' condition

  } //Closing brace of for-loop

} //Here add the closing brace of 'int f(int x, inty)'

int main() {
  int a = f(30, 10);
  int b = f(20, 5);
  return 0;
} //Removed the last '}' in your code
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...