利用指针完成字符串复制函数char *strcpy(char *s1,char *s2) 。

利用指针完成字符串复制函数char *strcpy(char *s1,char *s2) 。


参考答案和解析
#include “stdio.h” char * strcat( char *s, char *t) { int nStrLen = strlen(s); int i; for(i=0;i<strlen(t);i++) s[nStrLen+i] = t[i]; s[nStrLen+i] = ‘\0’; return s; } void main( ) { char strS[80]=”AAAAAA”; char strT[20]=”XXXXXX”; printf(“%s\n”,strS); printf(“%s\n”,strT); strcat(strS, strT); printf(“%s\n”,strS); printf(“%s\n”,strT); }

相关考题:

若有定义 :char *x="abcdefghi"; ,以下选项中正确运用了 strcpy 函数的是A)char y[10]; strcpy(y,x[4]);B)char y[10]; strcpy(++y,x[1]);C)char y[10],*s; strcpy(s=y+5,x);D)char y[10],*s; strcpy(s=y+1,x+1);

下列程序中的函数 strcpy2() 实现字符串两次复制 , 即将 t 所指字符串复制两次到 s 所指内存空间中 ,合并形成一个新的字符串。例如,若 t 所指字符串为 efgh ,调用 strcpy2 后, s 所指字符串为 efghefgh 。请填空。#include stdio.h#include string.hvoid strcpy2(char *s,char *t){ char *p=t;while(*s++=*t++);s= 【 1 5 】 ;while( 【 1 6 】 =*p++);}main(){ char str1[100]="abcd",str2[]="efgh";strcpy2(str1 ,str2); printf("%s\n",str1);}

以下与库函数strcpy(char *p, char *q)功能不相等的程序段是()。 A.strcpy1(char *p, char *q){ while ((*p++=*q++)!='\0')}B.strcpy2( char *p, char *q){ while((*p=*q)!='\0'){p++ q++}}C.strcpy3(char*p, char *q){ while (*p++=*q++)}D.strcpy4(char *p, char *q){ while(*p)*p++=*q++}

下列程序中的函数strcpy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。#include stdio.h#include string.hvoid strcpy2(char *s,char *t){char *p=; while(*s++=*t++); s=s-1; while(=*p++);}main(){char str1[100]="abcd",str2[]="efgh"; strcpy2(str1,str2); printf("%s\n",strl);}

设已包含头文件,下列程序段的运行结果是()。char s1[]={"ACDEF"};char s2[]="ABC";strc 设已包含头文件<string.h>,下列程序段的运行结果是( )。 char s1[]={"ACDEF"}; char s2[]="ABC"; strcpy(s1,s2); printf("%d",strlen(s1));A.3B.4C.6D.5

若已包括头文件且已有定义char s1[18],s2={"ABCDE"}和int i,现要将字符串“ABCDE”赋给s 若已包括头文件<string.h>且已有定义char s1[18],s2={"ABCDE"}和int i,现要将字符串“ABCDE”赋给s1,下列语句错误的是( )。A.strcpy(s1,s2)B.strcpy(sl,"ABCDE");C.s1="ABCDE";D.for(i=0;i<6;i++) s1[i]=s2[i];

若已包括头文件且已有定义char s1[18],s2={"ABCDE"}和int i,现要将字符串 "ABCDE"赋给 若已包括头文件<string.h>且已有定义char s1[18],s2={"ABCDE"}和int i,现要将字符串 "ABCDE"赋给s1,下列语句错误的是( )A.strcpy(s1,s2)B.strcpy(s1,"ABCDE");C.s1="ABCDE";D.for(i=0;i<6;i++) s1[i]=s2[i];

补充完整下面的类定义:class XCH{char*a;public:XCH(char*a A) { //构造函数a=new char[strlen(aA) +1];strcpy(a,aA) ;}XCHoperator=(const XCHx){//重载赋值函数delete[ ]a;a=new char[strlen(x.A) +1];strcpy(a,x.A) ;______;}~XCH( ){delete[ ]a;}};

阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。[函数2.1说明]函数strcpy的功能是将字符串str2的内容复制到字符申str1。[函数2.1](1) strcpy (char *slr1, const char *str2){ char * temp;while( * str2!='\0') *cp++ =(2);(3)='\0';return str1;}[函数2.2说明]函数int strcmp(const char *str1, const char *str2)的功能是按字典序比较两个字符串str1和str2的大小。当str1<str2时返回-1,当str1>str2时返回1,否则返回0。[函数2.2]int strcmp(const char *str1, const char *str2){ while( *str1= =* str2) {if(* s1= =(4)) return 0;s1++;(5);}if( *str1<*str2) return -1;return 1;}

对于下面的程序includeincludechar *scmp(char*s1,char*s2){if(strcmp(s1, 对于下面的程序 #include<stdio.h> #include<string.h> char *scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0)return(s1); else return(s2); } main() { int i:char string[20],sb[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1])); strcpy(string,scmp(string,str[21)); printf("%s\n",string); } 若运行时依次输入abcd、abba和abc三个字符串,则输出结果为______。A.abcdB.abbaC.abcD.abca

以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址#include <stdio.h>#include <string.h>char *scmp(char *s1, char *s2){ if(strcmp(s1,s2)0)return(s1);else return(s2);}main( ){ int i; char string[20], str[3][20];for(i=0;i3;i++) gets(str[i]);strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/strcpy(string,scmp(string,str[2]));printf("%s\n",string);}若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为A.abcdB.abbaC.abcD.abca

以下程序十函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址: #include <stdio.h> #include <string.h> char *scrap(char *s1,char *s2) { if(strcmp(s1,s2)<0) return(s1); else return(s2); } main() { int i; char string[20], str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str [0],str[1]));/*库函数strcpy对宁符中进行复制*/ strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入:abcd、4bba和abc三个宁符市,则输出结果为A.abcdB.abbaC.abcD.abca

请编写能直接实现char * strcpy(char * pstrDest,const char * pstrSource)函数功能的代码。

以下程序中函数scmp功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#includ<string. h>char *scmp(char *s1,char *s2){ if(strcmp(s1,s2)<0) return(s1); else return(s2);}main(){ int i;char string[20],str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str[0],str[1])); //库函数 strcpy 对字符串进行复制 strcpy(string,scmp(stfing,str[2])); puts(string); }若运行时依次输入: abed、abba 和abc三个字符串,则输出结果为( )。A.abedB.abbaC.abcD.abca

根据程序中的注释将下列缺失部分补充完整。class A{char*a;public:A():a(0){}A(char*aa){ //把aa所指字符串复制给a所指向的存储空间a= 【 】 char[strlen(aa)+1];strcpy(a,aa);}~A(){delete[]a;}}

补充完整下面的类定义:class XCH{char*a:public:XCH(char球an){ //构造函数a=new char[strlen(aft)+1];strcpy(a,aA);}XCHoperator=(const XCHx){ //重载赋值函数delete[]a;a=new char[strlen(X.A)+1];strcpy(a,x.A);【 】}一XCH(){delete[]a;}};

对于下面的程序includeincludechar * scmp(char * s1,char * s2){if(strcm 对于下面的程序 #include<stdio.h> #include<string.h> char * scmp(char * s1,char * s2) { if(strcmp(s1,s2)<0)return(s1); else return(s2); } main() { int i;char string[20],str[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1])); strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入abcd、abba和abc三个字符串,则输出结果为 ______。A.abcdB.abbaC.abcD.abca

参照函数模板的写法,完成非模板函数的定义,语句为______。 include include 参照函数模板的写法,完成非模板函数的定义,语句为______。include<iostream.h>include<string.h>template<class T>T min(T a,T b){return(a<b? a:b);}char*rain(char*a,char*b){______}void main( ){double a=1.23,b=3.45;char s1[]="abed",s2[]="efg";cout<<min(a,b)<<min(s1,s2)<<endl;}

输入二个 64 位的十进制数,计算相乘之后的乘积已知 strcpy 函数的原型是:char * strcpy(char * strDest,const char * strSrc);1.不调用库函数,实现strcpy 函数。2.解释为什么要返回char *。

已知strcpy 的函数原型:char *strcpy(char*strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串。不调用C++/C 的字符串库函数,请编写函数strcpy。

编写 strcpy函数已知 strcpy函数的原型是char *strcpy(char *strDest, const char *strSrc);其中 strDest 是目的字符串,strSrc 是源字符串。(1)不调用 C++/C 的字符串库函数,请编写函数 strcpy(2)strcpy能把 strSrc 的内容复制到 strDest,为什么还要 char * 类型的返回值?

使用VC6打开考生文件夹下的工程test18_3,此工程包含一个源程序文件test18_3.cpp,其中定义了用于表示雇员的类 Employee,但类Employee的定义并不完整。请按要求完成下列操作,将类Employee的定义补充完整。(1)补充类Employee的构造函数,请使用字符串函数将数据成员name,address,city,province和zipcode分别初始化为参数*nm,*addr,*city,*prov和*zip的值。请在注释“//**1**”之后添加适当的语句;(2)完成类Employee的成员函数ChangeName(char * newName)的定义,将newName指向的内容赋值给数据成员name,请在注释“//**2**”之后添加适当的语句;(3)完成类Employee的成员函数Display()的定义,先使用指针buffer动态申请一个char型的200单位大小的空间,然后使用字符串函数将数据成员name和address依次复制其中,最后返回该指针buffer,将请在注释“//**3**”之后添加适当的语句。输出结果如下:王东建国路大街105号注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test18_3.cpp清单如下:include <iostream.h>include <string.h>class Employee{protected:char name[20];char address[100];char city[20];char province[20];char zipcode[10];public:Employee(char *nm, char *addr,char *city, char *prov, char *zip);void ChangeName(char *newName);char *Display();};Employee::Employee(char *nm, char *adr, char *cit, char *prov, char *zip){//**1**strcpy(city, cit);strcpy(province,prov);strcpy(zipcode,zip);}void Employee::ChangeName(char * newName){//**2**}char *Employee::Display(){//**3**strcat(buffer, address);return buffer;}void main(){Employee emp("李华","建国路大街105号","石家庄","河北","103400");emp. ChangeName ("王东");cout<<emp.Display()<<end1;}

已知函数定义如下,函数abed的功能是( )。 abcd(char *s1,char *s2) { while(*s2++=*s1++); }A.串复制B.求串长C.串比较D.串反向

以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。 #include<string> char*scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0) return(s1); else retrun(s2); } main() { int i;char string[20],str[3][20]; for(i=0;i<3;i+A.abcdB.abbaC.abcD.abca

请教:2016年计算机二级C++基础练习三简答题8如何解答? 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*sl,char*s2)的空出部分。函数fun(char*s1,char*s2)的功能是将在字符串s1中下标为偶数的字符,紧随其后重复出现一次,放在一个新串s2中,s2中字符按原字符串中字符的顺序排列。(注意0为偶数)例如:当s1中的字符串为“abcdef”时,s2中的字符串应为“aaccee”。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include(iostream.h)voidfun(char*s1,char*s2){}voidmain(){charsi[100】,s2【1OO];coutPleaseenterstringstrin9:cin.getline(s1,100);fun(s1,s2);coutTheresultis:return;}

以下程序的输出结果是( )。 include main() {char*s1,*s2,m; s1=s2=(char*)malloc(size 以下程序的输出结果是( )。include<stdlib.h>main(){char*s1,*s2,m;s1=s2=(char*)malloc(sizeof(char));*s1=15;*s2=20;m=*s1+*s2:printf("%d\n",m);}

阅读以下说明和C代码,填写代码中的空(1)~(6),将解答写入答题纸的对应栏内。【说明】下面的C代码在输入的100个英文单词中找出最小单词和最大单词。约定每个单词是仅由英文字母构成的字符串,且都不超过20个字符。单词的大小按照字典序定义。例如,单词“entry”大于“enter”、“art”小于“ article”、“an”等于“An”。 【C代码】#include #define NUMBER 100int isValid(const char *s1); //若字符串s1仅包含英文字母则返回1,否则返回0char toLower(char ch); //将大写字母转换为小写字母int usr_strcmp(char *s1, char *s2); //比较字符串s1和s2,相等时返回0, //s1大则返回正整数,s1小则返回负整数void usr_strcpy(char *s1,const char *s2); //字符串s2拷贝给s1 int main(){ char word[32]; char maxWord[32]="", minWord[32] =""; int numWord=0; while(num Word0) / /调用usr_strcmp比较单词 usr_strcpy(max Word, word); / /用max Word记下最大单词 else if( (3) ='a' && *s='A' && *s='A' && ch

语句()能正确完成赋字符串的功能。A、chars[4];s[0]=“string”B、char*s;get(s)C、char*s[]=“string”D、char*s;strcpy(s,“string”)