编译C程序时不断出错:(

use*_*516 1 c

在编程时我完全没用,所以记住这一点!

我们必须编写一个生成两个随机数的代码,然后将这两个随机数传递给一个生成然后返回总和的函数.提示学生回答问题,如果他们弄错了,程序应该循环直到他们做对了,如果他们是正确的,程序应该循环并提出另一个问题.

当我编译时,我不断收到这些错误:

multi.c: In function ‘multiply’:
multi.c:6:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
multi.c:27:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
multi.c:31:1: error: expected ‘{’ at end of input
Run Code Online (Sandbox Code Playgroud)

这是我的代码,有人可以帮助我:

#include <stdio.h>

int multiply(int x, int y)

int main()
{
    int multiply(int x, int y);
    int x = rand()%20;
    int y = rand()%20;
    int i, answer;
    i = multiply(x,y);

    printf("what is %d multiplied by %d\n?" x, y);
    scanf("%d\n", &answer);

    while(answer != i)
    {
        printf("wrong try again!");
        scanf("%d\n", &answer);
    }

    printf("very good!");
}

int multiply(int x, int y)
{
    int k;
    (x*y = k);
    return k;
}
Run Code Online (Sandbox Code Playgroud)

das*_*ght 6

第27行的任务x*y = k应该是k = x*y.

int multiply(int x, int y)第6行后有一个缺少的分号.

在第13行的字符串文字后面有一个缺失的昏迷:

printf("what is %d multiplied by %d\n?" /* here */ x, y);
Run Code Online (Sandbox Code Playgroud)