C语言选择题,求大神帮忙解答,为什么输出结果不确定?请给出具体解析。

如题所述

fun(2,3,c);中的c是函数fun中的局部变量,与int c;中的c不是同一个变量,当fun函数结束后,fun(2,3,c);中的c将会被编译器销毁,后面的printf语句其实是输出的int c;中的c的值,而语句int c;是声明了int型变量,但是没有给它赋值,所以它的值是不确定的(垃圾值)追问

那程序一开始定义的fun(int a,int b,int c) {c=a*b}这些语句在程序中起了什么作用。

追答

fun(int a,int b,int c) {c=a*b;}

是函数fun的定义,告诉编译器,名叫fun的函数需要3个int型参数,然后第3个参数的值等于前两个参数的乘积,它返回int型的值(没显示注明返回值类型,默认为int型),但是函数中没有return语句,所以返回值的大小取决于具体的编译器。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网