C语言 下面程序的输出结果是( )

发布网友 发布时间: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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com