为什么是这个结果?谁来帮我解释一下:
我用的是 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 编辑 ]









