[英]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.