[问题] pow无法求出2的幂次方

楼主: gauss760220 (找寻无脸华)   2014-08-23 10:36:06
开发平台(Platform): (Ex: VC++, GCC, Linux, ...) C
问题(Question):
无法求出2的幂次方
喂入的资料(Input):任意正整数 or 0
预期的正确结果(Expected Output):输入任何大于或等于零的整数,皆可以算出值
错误结果(Wrong Output):编译上好像有错误,输入任何值的结果都会使得输出为零
程式码(Code):(请善用置底文网页, 记得排版)
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int fac(int n)
{
if (n<0)
printf("Error!");
else
return pow(2,n);
}
int main()
{
int x;
printf("请输入指数x的值:");
scanf("%d",&x);
printf("x=%d,此时2的x次方为%d\n",x,fac(x);
system("pause");
return 0;
}
作者: azureblaze (AzureBlaze)   2014-08-23 10:51:00
http://ideone.com/1wRzaK 不对吗?如果不是贴错的话你倒数第四行少了个括号
作者: bibo9901 (function(){})()   2014-08-23 11:10:00
可以宣告放前面 定义在后面把fac移到main之后, 在main之前加上 int fac(int);
作者: azureblaze (AzureBlaze)   2014-08-23 11:11:00
先用int fac(int n);告诉编译器有fac()这个东西
作者: bibo9901 (function(){})()   2014-08-23 11:12:00
而且 n<0 时也需要回传值喔

Links booklink

Contact Us: admin [ a t ] ucptt.com