如何修复用Xcode编写的代码?在主函数中,Xcode显示错误:此处不允许函数定义 #包括 整数f(整数x,整数y){ 对于(int i=10;i>5;i--){ 如果(x%i==0){ y=x^3; printf(“x是%d,y是%d\n”,x,y); 返回x+y; } 否则{ y=x+1; printf(“x是%d,y是%d\n”,x,y); 返回x*y; } } int main(){//此行出错。函数定义不正确 //这里可以。 int a=f(30,10); intb=f(20,5); 返回0; } }

如何修复用Xcode编写的代码?在主函数中,Xcode显示错误:此处不允许函数定义 #包括 整数f(整数x,整数y){ 对于(int i=10;i>5;i--){ 如果(x%i==0){ y=x^3; printf(“x是%d,y是%d\n”,x,y); 返回x+y; } 否则{ y=x+1; printf(“x是%d,y是%d\n”,x,y); 返回x*y; } } int main(){//此行出错。函数定义不正确 //这里可以。 int a=f(30,10); intb=f(20,5); 返回0; } },c,xcode,C,Xcode,Xcode将此显示为解析问题。请帮助我修复此代码。您错过了结束函数f()的}。因此,您错误地将main()放在函数f()中 此处缺少intf(intx,inty)的右大括号}。我已经在代码本身中添加了注释 在程序末尾添加了一个不需要的右大括号} 更正后的代码为 #include <stdio.h> int f(int x, int y) { for (int i = 10; i > 5; i--) { if (x % i == 0) { y =

Xcode将此显示为解析问题。请帮助我修复此代码。

您错过了结束函数f()的}。因此,您错误地将main()放在函数f()中

  • 此处缺少
    intf(intx,inty)
    的右大括号
    }
    。我已经在代码本身中添加了注释
  • 在程序末尾添加了一个不需要的右大括号
    }
  • 更正后的代码为

    #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;
      }
    }
    
    #包括
    整数f(整数x,整数y){
    对于(int i=10;i>5;i--){
    如果(x%i==0){
    y=x^3;
    printf(“x是%d,y是%d\n”,x,y);
    返回x+y;
    }//关闭“if”条件的大括号
    否则{
    y=x+1;
    printf(“x是%d,y是%d\n”,x,y);
    返回x*y;
    }//关闭“else”条件的大括号
    }//for循环的右括号
    }//此处添加“int f(int x,int y)”的右括号
    int main(){
    int a=f(30,10);
    intb=f(20,5);
    返回0;
    }//删除了代码中的最后一个“}”
    
    不能在另一个函数中定义函数。@Sparsh Gupta错误的原因是编程风格不好。将支架始终置于彼此下方。
    #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