发布网友 发布时间:2022-04-26 09:56
共3个回答
热心网友 时间:2022-06-27 02:07
fun(char *s)
{ char t;
if (*s) {t=*++s; putchar(t); fun(s); }
}
这个函数的功能就是从字符串第二字节开始输出
t=*++s;
这句就是第二字节的原因
改成t=*s++;就变成从第一字节开始输出
if (*s)就是遇到*s==0即退出
热心网友 时间:2022-06-27 02:07
fun(char *s)函数调用中,参数传递的是字符串的首地址,所以t=*++s,是将S后移一位,指向下一个数据,然后赋给t。用了简单的递归调用,仔细看一下就能明白。
热心网友 时间:2022-06-27 02:08
t=*++s
问题在这里咯
++就是+1 不会有1
也就是说"1234"
++是从2读起
所以输出234