函数的重用

C++字符串结构与递归显示
本文介绍了一个使用C++实现的字符串结构体,并通过递归方式展示字符串内容及长度的方法。文中详细展示了如何创建并初始化字符串结构体,以及如何通过递归函数多次打印字符串及其长度。
#include<iostream>
using namespace std;
#include<cstring>
struct stringy
{
char *str1;
int ct;
};


void set(stringy &str, const char *st);
void show(const stringy &str, int n = 1);
void show(const char* str, int n = 1);


int main()
{
stringy beany;
char texting[] = "fajshghsbdfuhy";
set(beany, texting);
show(beany);
show(beany, 2);
texting[0] = 'D';
texting[1] = 'u';
show(texting);
show(texting, 3);
show("Done!");

cin.get();
cin.get();
return 0;
}
void set(stringy &str, const char *st)
{
str.ct = strlen(st);
str.str1 = new char[str.ct];
int i = 0;
while (i<str.ct)
{
str.str1[i] = st[i];
++i;
}
str.str1[i] = '\0';
}
void show(const stringy &str, int n)
{
if (n == 0)
return;
else
{
cout << str.str1 << "\t" << str.ct << endl;
show(str, n - 1);
}
}
void show(const char* str, int n)
{
if (n == 0)
return;
else
{
cout << str << endl;
show(str, n - 1);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值