簡體   English   中英

編譯C程序時不斷出錯:(

[英]Keep getting errors when compiling C program :(

對於編程,我完全沒用,所以請記住這一點!

我們必須編寫一個生成兩個隨機數的代碼,然后將這兩個隨機數傳遞到一個函數中,該函數生成並返回總和。 提示學生回答問題,如果他們弄錯了,程序應該循環直到正確為止;如果他們答對了,程序應該循環並問另一個問題。

當我編譯時,我不斷收到這些錯誤:

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

這是我的代碼,有人可以幫我嗎:

#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;
}

第27行x*y = k的分配應為k = x*y

第6行上的int multiply(int x, int y)之后缺少分號。

在第13行的字符串文字之后,缺少逗號:

printf("what is %d multiplied by %d\n?" /* here */ x, y);
int multiply(int x, int y)

這缺少分號。


int multiply(int x, int y);

您不能在函數體內聲明函數。 只需刪除此行。


(x*y = k);

您已經向后分配了作業。 k = x * y; 是正確的。

int multiply(int x, int y);

為什么在main()有這個? 您不能在函數內部具有函數原型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM