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