C++编写一个程序,将从键盘输入的两个字符串连接起来,并统计连接好的字符串的实际长度
编写一个程序,将从键盘输入的两个字符串连接起来,并统计连接好的字符串的实际长度,其中不允许使用字符串处理函数strcat和strlen拜托:不允许使用字符串处理函数str...
编写一个程序,将从键盘输入的两个字符串连接起来,并统计连接好的字符串的实际长度,其中不允许使用字符串处理函数strcat和strlen
拜托:不允许使用字符串处理函数strcat和strlen 展开
拜托:不允许使用字符串处理函数strcat和strlen 展开
4个回答
展开全部
想学好编程还是要自己动手,给你一个思路吧
首先,字符串可以看成是一个char型的数组+一个结束符'\0’,于是就好办了,不用strlen,因为不需要知道长度,我们只要找结束符就好了,输入两个字符串,第一个按下标往后找结束符,找到后,从这里开始将第二个字符串内容copy过来,不知道长度不要紧,也按下标一字节一字节copy,遇到'\0'停止,新的字符串结尾也要加结束符,这样,就是自己实现的简单的strcat函数,这里不仅能得到连接后的字符串,还能知道传入的两个字符串的长度。
首先,字符串可以看成是一个char型的数组+一个结束符'\0’,于是就好办了,不用strlen,因为不需要知道长度,我们只要找结束符就好了,输入两个字符串,第一个按下标往后找结束符,找到后,从这里开始将第二个字符串内容copy过来,不知道长度不要紧,也按下标一字节一字节copy,遇到'\0'停止,新的字符串结尾也要加结束符,这样,就是自己实现的简单的strcat函数,这里不仅能得到连接后的字符串,还能知道传入的两个字符串的长度。
展开全部
#include<iostream.h>
void* Strcat(char s[],char t[]);
int main(void)
{
char s[100],t[100];
cout<<"请输入第一个字符串:";
cin>>s;
cout<<"请输入第二个字符串:";
cin>>t;
Strcat(s,t);
cout<<"连接后字符串为:"<<s<<endl; return 0;
}
void* Strcat(char s[],char t[])
{
int i,k;
for(i=0;s[i]!='\0';i++);
for(k=0;t[k]!='\0';i++,k++)
s[i]=t[k];
s[i] = '\0';
cout<<"第一个字符串长度为:"<<i-k<<endl;
cout<<"第二个字符串长度为"<<k<<endl;
cout<<"连接后字符串长度为:"<<i<<endl;
return s;
}
// 把两个字符串长度、连接后字符串长度都给统计出来了,你看下还有什么问题,有问题的话,可以继续追问~~~
void* Strcat(char s[],char t[]);
int main(void)
{
char s[100],t[100];
cout<<"请输入第一个字符串:";
cin>>s;
cout<<"请输入第二个字符串:";
cin>>t;
Strcat(s,t);
cout<<"连接后字符串为:"<<s<<endl; return 0;
}
void* Strcat(char s[],char t[])
{
int i,k;
for(i=0;s[i]!='\0';i++);
for(k=0;t[k]!='\0';i++,k++)
s[i]=t[k];
s[i] = '\0';
cout<<"第一个字符串长度为:"<<i-k<<endl;
cout<<"第二个字符串长度为"<<k<<endl;
cout<<"连接后字符串长度为:"<<i<<endl;
return s;
}
// 把两个字符串长度、连接后字符串长度都给统计出来了,你看下还有什么问题,有问题的话,可以继续追问~~~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void main()
{
char s1[255],s2[255];
int i,k=0;
char *p=s1,*q=s2;
gets(s1);
gets(s2);
while(*p)p++;
while(*p++=*q++);
*p='\0';
p=s1;
while(*p++)k++;
printf("s1+s2=%s len(s1+s2)=%d\n",s1,k);
}
运行情况如下:
abc
abcd
s1+s2=abcabcd len(s1+s2)=7
请按任意键继续. . .
void main()
{
char s1[255],s2[255];
int i,k=0;
char *p=s1,*q=s2;
gets(s1);
gets(s2);
while(*p)p++;
while(*p++=*q++);
*p='\0';
p=s1;
while(*p++)k++;
printf("s1+s2=%s len(s1+s2)=%d\n",s1,k);
}
运行情况如下:
abc
abcd
s1+s2=abcabcd len(s1+s2)=7
请按任意键继续. . .
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那就自己写个strcat和strlen不就完了。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询