void fun(char *p)

{

  if(*p=='\0')

   return ;

   fun(p+1);

   printf("%c",*p);

}

int main()

{

 char *str="hello";

 fun(str);

 return 0;

}

将这个程序的printf()放在fun()之前输出的结果不一样。我认为这是递归调用的时候改变了p的指向。

我将类型改写成int型,出现一堆乱码。那么谁能清楚地解释一下呢?

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-07
  • 2021-07-23
  • 2022-12-23
  • 2021-09-08
  • 2022-02-24
  • 2022-12-23
猜你喜欢
  • 2021-04-21
  • 2022-02-20
  • 2022-02-21
  • 2021-10-03
  • 2022-01-24
  • 2021-12-11
  • 2021-06-05
相关资源
相似解决方案