|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- float temp(int m, float n);
- /*test temp function */
- main()
- {
- int i;
- float p;
- for (i = 0; i <= 200; i = i + 20)
- printf("%d\t %6.1f\n", i, temp(i, p));
- return 0;
- }
- float temp(int fath, float celsius)
- {
- int i;
- float p;
- p = 5.0 * (i - 32.0) / 9.0;
- return p;
- }
复制代码
请问大佬这个哪有问题么
运行结果
0 -5.6
20 -599116928.0
40 -599116928.0
60 -599116928.0
80 -599116928.0
100 -599116928.0
120 -599116928.0
140 -599116928.0
160 -599116928.0
180 -599116928.0
200 -599116928.0
1.你的在temp(int fath,float celsius )中并没有使用 fath, celsius 。
2.主函数中的temp(i,p)中的 i,p的值传递给了fath 和 celsius 。
3.这叫做传递参数,所以fath等于main中的temp(i,p)中的i,同理 celsius 等于p。
4.你在函数自创的temp()中直接使用变量fath和celsius就可以了;并不用在定义i,p
5.变量的作用域为两个大括号之间:所以main中i,p并不与temp中的I,P有关联,所以需要3.中的传递参数.
6.因为5. 所以temp()中的ip没有赋值,是内存中未知数字 得到不正确的数字
7.一开始temp括号中的内容应该与最下面temp中的内容相同
8.打好基础
|
|