谁能帮我解释一下这段代码为什么能够得出这样的结果
#include <stdio.h>
int f(int a){
if(a==12)return 3;
}
void main(){
printf( "%d ",f(34));
}
最后打印出来的结果是3616680,我想知道为什么...
谢谢
[解决办法]
你的f函数在实参不等于12时没有返回值,导致不能得到你确定的结果,
系统在取返回值过程中取道了一个垃圾的堆栈值,这个值是很随机的。
你在编译的时候编译器应该给你warning信息了把。