[問題] 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