【发布时间】:2015-04-18 09:42:29
【问题描述】:
我正在做一个程序,其中我必须在其他函数中使用局部变量。如果变量数据类型是 int,我可以做到这一点,但如果它是 float,那么它就不起作用。
我正在使用以下代码为 int 传递值:
int func1()
{
float a = 2.34, b = 3.45, res1;
int c = 2, d = 3, res2;
res1 = a * b;
res2 = c * d;
return res2;
}
int func2(int res2)
{
res2 = func1(res2);
printf("%d", res2);
}
所以res2 存储int 值的结果,res1 存储float 值的结果。从上面的逻辑我能够传递res2(它是int)但不能传递res1(它是float)的值。我不知道我在哪里错过了重点。这该怎么做。请帮忙,谢谢!
【问题讨论】:
-
这段代码有效吗?我真的很怀疑!!这没有给出任何错误吗??
-
不是它适用于 int。 :)
-
func1() 不带任何参数,但你用参数
func1(res2);调用它 -
你使用什么编译器?如果编译成功,您需要启用(更多)警告。
-
func1(res) 是接收值的行