编写一个程序,将两个字符串连接起来,结果取代第一个字符串。要求用string方法。
代码如下看看是否可行?//连接两个字符串
#include
#include
#include
#include
char* strcat1(char *strDest , const char *strSrc)//Strcat函数原型如下:将源字符串加const,表明其为输入参数,不会改变其内容
{
//后文return address,故不能放在assert断言之后声明address
char* address=strDest;
assert( (strDest!=NULL)&&(strSrc!=NULL) );//对源地址和目的地址加非0断言
while(*strDest)//是while(*strDest!=’\0’)的简化形式
{
//若使用while(*strDest++),则会出错,因为循环结束后strDest还会执行一次++,
//那么strDest将指向'\0'的下一个位置。/所以要在循环体内++;因为要是*strDest最后指
//向该字符串的结束标志’\0’。
strDest++;
}
while(*strDest++=*strSrc++)
{
NULL;//该循环条件内可以用++,
}//此处可以加语句*strDest=’\0’;无必要
return address;//为了实现链式操作,将目的地址返回
}
int main()
{
char a[100],b[100];
scanf("%s",a);
scanf("%s",b);
strcat1(a,b);
printf("%s",a);
return 0;
}
绛旓細printf("The new string is:%s\n",s1);}
绛旓細printf("The new string is:%s\n",s1);}
绛旓細scanf("%s%s",s1,s2); //杈撳叆涓や釜瀛楃涓while(s1[i]) //鐩殑鏄i鎸囧悜 绗涓涓瀛楃涓茬殑鏈鍚庝綅缃 '\0'鎵鍦ㄤ綅缃甶++;while(s2[j]) //姝ゅ惊鐜氨鏄皢绗簩瀛楃涓插唴瀹瑰姞鍒扮涓瀛楃涓叉渶鍚 鐩村埌s2 '\0's1[i++]=s2[j++];s1[i]='\0'; //杩炴帴缁撴潫鍚 鍦ㄦ渶鍚庡姞缁撴潫绗rintf("The result is:%s\n"...
绛旓細char *p3; //杩斿洖鐨勫瓧绗︽寚閽,鍑芥暟涓繕鍏呭綋涓浆 p3=p1; // while ( *p1++ != '\0' ) num1++; //绗涓涓瀛楃涓茬殑闀垮害 p1=p3; p3=p2; while(*p2++!='\0') num2++; //绗浜屼釜瀛楃涓鐨勯暱搴 p2=p3; p3=(char *)malloc((num1+num2+1)*sizeof(char)); for (i=0;i<num1;i++) *(...
绛旓細涓嬮潰鏄涓涓鍙互鍒╃敤鎸囬拡灏嗕袱涓瓧绗︿覆杩炴帴璧锋潵鐨 C 璇█绋嬪簭銆傝绋嬪簭瀹氫箟浜嗕竴涓瓙鍑芥暟 `StrCat`锛岀敤浜庡皢涓や釜瀛楃涓茶繛鎺ヨ捣鏉ワ紝骞惰繑鍥炶繛鎺ュ悗鐨勭粨鏋溿備富鍑芥暟涓紝鎴戜滑鍏堜粠鏍囧噯杈撳叆璇诲叆涓や釜瀛楃涓诧紝鐒跺悗鏍规嵁瀹冧滑鐨勯暱搴﹁皟鐢 `StrCat` 鍑芥暟锛屽皢瀹冧滑杩炴帴璧锋潵骞惰緭鍑虹粨鏋溿俙``c include <stdio.h> include <...
绛旓細锛2锛変笉鐢╯trcat鍑芥暟 include <stdio.h> include <string.h> define N 200 define M 100 int main(void){ char str1[N],str2[M];int cou1 = 0,cou2 = 0;// 鍒濆鍖栦笅鏍 printf("input string1:\n");// 鎻愮ず杈撳叆瀛楃涓1 gets(str1);// 杈撳叆瀛楃涓1 printf("input string2:\n"...
绛旓細include<iostream>using namaspace std;void main(){ string s,s1; cin>>s>>s1; cout<<"s="<<s<<" s1="<<s1<<endl; s=s+s1;cout<<s<<endl;}
绛旓細include<stdio.h>void mystrcat(char a[],char b[]){//瀛楃涓茶繛鎺鍑芥暟 int i=0,j=0;while(a[i++]!='\0');//鎵惧埌a鐨勭粨鏉熶綅缃 i--;while(b[j]!='\0'){//鎶奲鍏冪礌璧嬪煎埌a涓 a[i++]=b[j++];} a[i]='\0';//鍔犱笂缁撴潫鏍囧織 }int main(){char a[100],b[100];scanf(...
绛旓細int main(void){ char a[80],b[80];int i,j;gets(a);gets(b);j=strlen(a);i=0;while(b[i]!='\0'){ a[j+i]=b[i];i++;} a[i+j]='\0';puts(a);return 0;} 鎴栬皟鐢ㄥ嚱鏁板疄鐜帮細include "stdio.h"include "string.h"int main(void){ char a[80],b[80];gets(a...
绛旓細include <stdio.h>#include <string.h>int main (){ char str1[10],str2[5],*p,i;//杩欓噷鐢╯tr1鎺ユ敹鎷兼帴鍚庣殑瀛楃涓诧紝纭繚str1澶у皬澶熸斁锛侊紒 娉ㄦ剰瑕佺暀1浣嶄繚瀛樼粨鏉熺'\0' strcpy(str1,"abcd");strcpy(str2,"efgh"); printf("鍘熷瓧绗︿覆鍒嗗埆涓猴細%s %s\n\n",str1,str2);...