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型,出现一堆乱码。那么谁能清楚地解释一下呢?