求大神解釋一下代碼
#include
int multidouble(int x) { return x*2; } int main() { int x=10; printf("x=%d\n",multidouble); return 0; }為什么輸出結果是419840,求大神解釋一下這題代碼#include
int multidouble(int x) { return x*2; } int main() { int x=10; printf("x=%d\n",multidouble); return 0; }為什么輸出結果是419840,求大神解釋一下這題代碼2016-06-06
舉報
2016-08-24
有個地方錯了,是輸入x=20
2016-08-24
你輸出的是multidouble 這個字符串,因為前面x=%d是int類型,所以進行了字符的轉換。想要輸入x=20,必須調用multidouble()這個函數,即是printf("x=%d\n",multidouble(x));
2016-06-26
int main(){printf("x=%d\n","multidouble(x)");return 0;}
函數調用的格式是: ?函數名(參數); ?
你調用的是int multidouble(int x){}; 你自己的自創函數,那么在調用的時候請看它有沒有形參(int x),如果有,那么在調用的時候就調用它的實參(x ?這里要注意的是x在題目中 是被賦予了一個實際的數值 x=10 那么這個x就是實參),
所以最終的代碼應該是
int main(){printf("x=%d\n","multidouble(x)");return 0;}
2016-06-06
你后面的multidouble 要加括號才是調用函數,否則就是將這一串字符的asic碼值輸出了