为了账号安全,请及时绑定邮箱和手机立即绑定

inv(s + 1)就是这个s+1不懂啊。

inv(s + 1)就是这个s+1不懂啊。

慕尼黑的夜晚无繁华 2023-01-03 15:11:05

#include<stdio.h>
void inv(char *s)
{
if(*s != 0x0)
{
inv(s + 1);
printf("%c",*s);
}
}
main()
{
char str[100];
gets (str);
inv(str);
}

查看完整描述

3 回答

?
墨色风雨

TA贡献1609条经验 获得超6个赞

C++语言支持函数重载,C 语言不支持函数重载。函数被 C++编译后在库中的名字
与 C 语言的不同。假设某个函数的原型为: void foo(int x, int y); 
该函数被 C 编译器编译后在库中的名字为 _foo,而 C++编译器则会产生像
_foo_int_int 之类的名字。 
C++提供了 C 连接交换指定符号 extern“C”来解决名字匹配问题。

查看完整回答
反对 回复 2023-01-06
?
哆啦的时光机

TA贡献1550条经验 获得超6个赞

inv()是一 个递归函数,作用是逆序输出输入的 字符串。

查看完整回答
反对 回复 2023-01-06
?
繁花如伊

TA贡献1766条经验 获得超12个赞

这段程序是将字符串str倒序输出。
inv()函数是一个递归函数,就是一层套一层那样,仔细读一下就懂了。
inv()函数到str字符串结尾遇到\0时结束循环。

查看完整回答
反对 回复 2023-01-06

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信