#include
int multidouble(int x) { return x*2; } int main() { int x=10; printf("x=%d\n",multidouble); return 0; }为什么输出结果是419840,求大神解释一下这题代码有个地方错了,是输入x=20
你输出的是multidouble 这个字符串,因为前面x=%d是int类型,所以进行了字符的转换。想要输入x=20,必须调用multidouble()这个函数,即是printf("x=%d\n",multidouble(x));
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;}
你后面的multidouble 要加括号才是调用函数,否则就是将这一串字符的asic码值输出了