首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

2级C中一题不懂解决方法

2012-04-13 
2级C中一题不懂int fun(int s1,s2){int i,jis2%10js2/10if(s210)return s2s1s1*10+ifun(s1,j)re

2级C中一题不懂
int fun(int s1,s2)
{
  int i,j;
  i=s2%10;
  j=s2/10;
  if(s2<10)
  return s2;
  s1=s1*10+i;
  fun(s1,j);
  return(s1);
}
void main(0
{
  printf("%d",fun(0,5678));
}
答案为8. fun(s1,j);这一句函数调用不理解,求解释。


[解决办法]
递归调用的函数参数传递是按值传递,返回值又没处理,完全没起作用,空跑了,迷惑性的。
[解决办法]
明白一句话,返回的S1是你第一次调用的时候的s1由于fun()是值传递,不会修改s1所以s1就是第一次调用的s1就是8

热点排行