在编程时我完全没用,所以记住这一点!
我们必须编写一个生成两个随机数的代码,然后将这两个随机数传递给一个生成然后返回总和的函数。提示学生回答问题,如果他们弄错了,程序应该循环直到他们做对了,如果他们是正确的,程序应该循环并提出另一个问题。
当我编译时,我不断收到这些错误:
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;
}
答案 0 :(得分:6)
第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);
答案 1 :(得分:2)
int multiply(int x, int y)
缺少分号。
int multiply(int x, int y);
您无法在函数体内声明函数。只需删除此行即可。
(x*y = k);
你的任务倒退了。 k = x * y;
是正确的。
答案 2 :(得分:0)
int multiply(int x, int y);
为什么在main()
中有这个?你不能在函数内部有函数原型。