【发布时间】:2015-01-17 21:14:45
【问题描述】:
我开始学习如何在 c 中使用函数,我试图创建一个除整数的函数,但编译器给了我一个错误。我搜索了谷歌,这导致我在这里经常问这个问题,但我不明白错误到底是什么。所以,我重新发布它。
请注意,编译器的问题在于“z 而不是“div”。
代码如下:
#include<stdio.h>
float div(int x, int z);
void main()
{
int n,m;
float div;
printf("Enter first number: \n");
scanf("%d",&n);
printf("Enter second number: \n");
scanf("%d",m);
if(m!=0)
{
div=div(n,m);
printf("%d/%d=%f \n",n,m,div);
}
}
float div(int x, int z)
{
int x,z;
float div;
if(z!=0){
div=x/z;
return div;
}
}
【问题讨论】:
-
div现在是一个函数和一个浮点数。 -
即使我编辑“div”并让它说,divee,问题还是出现了。事实上,编译器说问题出在 z 而不是 div。
-
你的
div函数的参数是x和z,但是你声明了同名的局部变量,你不能。函数参数是从外部传入的局部变量。它们必须与所有其他局部变量一起存在而不会发生名称冲突。 -
请将您的第二个
scanf更改为scanf("%d", &m),地址运算符为&。 (你猜对了,在上面两行。) -
@learner:很好。许多人都按照同样的思路发布了长而详细的答案。请接受其中之一。
标签: c function compiler-errors declaration