...从键盘输入的两个字符串连接起来,并统计连接好的字符串的实际...
发布网友
发布时间:2024-01-18 14:39
我来回答
共4个回答
热心网友
时间:2024-03-02 11:06
想学好编程还是要自己动手,给你一个思路吧
首先,字符串可以看成是一个char型的数组+一个结束符'\0’,于是就好办了,不用strlen,因为不需要知道长度,我们只要找结束符就好了,输入两个字符串,第一个按下标往后找结束符,找到后,从这里开始将第二个字符串内容copy过来,不知道长度不要紧,也按下标一字节一字节copy,遇到'\0'停止,新的字符串结尾也要加结束符,这样,就是自己实现的简单的strcat函数,这里不仅能得到连接后的字符串,还能知道传入的两个字符串的长度。
热心网友
时间:2024-03-02 11:01
#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
请按任意键继续. . .
热心网友
时间:2024-03-02 11:06
#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;
}
// 把两个字符串长度、连接后字符串长度都给统计出来了,你看下还有什么问题,有问题的话,可以继续追问~~~
热心网友
时间:2024-03-02 11:07
那就自己写个strcat和strlen不就完了。。