读书人

哪位高手能帮小弟我解释一下这段代码为

发布时间: 2012-03-18 13:55:39 作者: rapoo

谁能帮我解释一下这段代码为什么能够得出这样的结果


#include <stdio.h>


int f(int a){
if(a==12)return 3;


}


void main(){


printf( "%d ",f(34));


}


最后打印出来的结果是3616680,我想知道为什么...

谢谢

[解决办法]
你的f函数在实参不等于12时没有返回值,导致不能得到你确定的结果,
系统在取返回值过程中取道了一个垃圾的堆栈值,这个值是很随机的。

你在编译的时候编译器应该给你warning信息了把。

读书人网 >C语言

热点推荐