为什么是这个结果?谁来帮我解释一下:
我用的是 ubuntu ,gcc 下出现了意想不到的结果:程序代码:
#include<stdio.h> int two_ten(char *); int main(void) { char a[]="11011.1111111#"; int n=456; n=two_ten(a); printf("%d\n",n); return 0; } int two_ten(char *a) { float num=5.0234; int j=1; if(*a=='#') { return 1234; } two_ten(a+1); printf("-----%d----\n",j); }
如果不加
printf("-----%d----\n",j);这句,可以正常显示结果,谁能来告诉我为什么?如何避免?谢谢大家。
[ 本帖最后由 广陵绝唱 于 2009-11-30 01:53 编辑 ]