问答详情
源自:5-4 形参与实参

求大神解释一下代码

#include

int multidouble(int x) { return x*2; } int main() { int x=10; printf("x=%d\n",multidouble); return 0; }为什么输出结果是419840,求大神解释一下这题代码

提问者:毛哈哈 2016-06-06 12:14

个回答

  • 听羽
    2016-08-24 21:12:50
    已采纳

    有个地方错了,是输入x=20

  • 听羽
    2016-08-24 21:11:51

    你输出的是multidouble 这个字符串,因为前面x=%d是int类型,所以进行了字符的转换。想要输入x=20,必须调用multidouble()这个函数,即是printf("x=%d\n",multidouble(x));

  • 谦虚的学习者3547435
    2016-06-26 00:59:32

    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;}

  • Ralph123
    2016-06-06 12:33:39

    你后面的multidouble 要加括号才是调用函数,否则就是将这一串字符的asic码值输出了