求大神解释一下代码

来源:5-4 形参与实参

毛哈哈

2016-06-06 12:14

#include

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

4回答

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

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

    毛哈哈

    非常感谢!

    2016-09-28 18:55:48

    共 1 条回复 >

  • 听羽
    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码值输出了

    毛哈哈

    为什么加了括号结果还是419840呢?

    2016-06-06 13:45:46

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926284 学习 · 20799 问题

查看课程

相似问题