2016-12-11 20 views
-3

這裏的問題是當我嘗試打印結果如下面的代碼時,這會給出一個輸出爲「0是結果」。然而,當我將pow(5,3)賦給變量x時,寫printf(「%d是結果。\ n」,x);它打印正確的結果。這是爲什麼發生?返回值在printf()格式中不起作用

#include <stdio.h> 

    int power(int base, int exp) { 
     int result = 1; 
     int i; 
     for (i = 0; i < exp; i++) { 
      result *= base; 
     } 
     return result; 
    } 

    int main() { 

     printf("%d is the result.\n", power(5,3)); 
     return 0; 
    } 
+1

我無法重現該問題。 –

+2

隨着你的編輯,這個函數被命名爲'power',但是你正在調用'pow'。 –

+0

無法重現http://ideone.com/ZqpaNv – Stargateur

回答

3

它適用於我,當我嘗試你的程序。但是pow是來自數學庫的庫函數,返回double,並且名稱是保留的。嘗試將其重命名爲my_pow