开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
C
问题(Question):
无法算出幂次方
预期的正确结果(Expected Output):可算出x的y次方
错误结果(Wrong Output):不管怎么输入x、y,pow(x,y)均显示为零
程式码(Code):(请善用置底文网页, 记得排版)
#include<stdio.h>
#include<math.h>
int main()
{
int x,y;
double z=function(x,y);
printf("请输入x值:");
scanf("%d",&x);
printf("\n");
printf("请输入y值:");
scanf("%d",&y);
printf("\n");
printf("x的y次方是%d\n",z);
system("pause");
return 0;
}
double function(int a,int b)
{
return pow(a,b);
}
作者: remizu (remizu) 2014-08-16 10:42:00
z是double 在printf时要用%f1. 函数(副程式)必须要在"使用之前"宣告其原型这样编译器才知道函数吃哪些 哪种型别的参数以及函数将传回什么型别的值2. int z=function(x,y);的话 是宣告int型别变量z并将其值初始化为function(x,y);的传回值因此在这行时就已经执行function(x,y); 才能知道其传回值当然 作为参数的x, y必须已经是有效内容要宣告其原型 但定义可以放在主程式之后 甚至是其他档案