不使用strcat函数,将两个字符串连接起来
不使用strcat函数,将两个字符串连接起来
参考答案和解析
void fun (char p1[]char p2[]) { int ij; for (i=0;p1 [i] !='\\0'; i++); /*求出的i为p1字符的总长度包括结束标记位*/ for (j=0;p2 [j] !='\\0'; j++) p1 [i++]=p2 [j]; /*将p2字符串连在p1字符串的后面*/ p1[i]='\\0'; /*在字符串最后加上结束标记符*/ } void fun (char p1[],char p2[]) { int i,j; for (i=0;p1 [i] !='\\0'; i++); /*求出的i为p1字符的总长度,包括结束标记位*/ for (j=0;p2 [j] !='\\0'; j++) p1 [i++]=p2 [j]; /*将p2字符串连在p1字符串的后面*/ p1[i]='\\0'; /*在字符串最后加上结束标记符*/ } 解析:本题用两个循环,第1个循环的作用是将i走到第1个字符串的末尾。第2个循环的作用是将第2个字符串的字符连到第1个字符串的末尾。
相关考题:
有以下程序(strcat函数用以连接两个字符串) #includestdio.h #includestring.h。 main {char a[20]="ABCD\oEFG\0",h[]="IJK"; strcat(a,b);printf("%s\n",a); ) 程序运行后的输出结果是( )。A.ABCDE\0FG\0IJKB.ABCDIJKC.IJKD.EFGIJK
编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到pl所指的字符串的后面。例如,分别输人下面两个字符串:FirstString——SecondString程序运行后的输出结果是:FirstString————SecondString注意:部分源程序在文件PROGl.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
对字符串处理函数strcmp()描述正确的是()A、字符串1等于字符串2,函数返回值等于0B、字符串1大于字符串2,函数返回值等于1C、字符串1小于字符串2,函数返回值等于-1D、不能使用关系运算符“==”来比较两个字符串,只能用strcmp()函数来处理
判断字符串s1是否大于字符串s2,错误的使用有()A、if(strcat(s1,s2)==1)B、if(strcat(s2,s1)0)C、if(s1s2)D、if(strcat(s1,s2)0)
单选题有以下程序(strcat函数用以连接两个字符串):#include #include main(){ char a[20]=ABCD\0EFG\0, b[]=IJK; strcat(a,b); printf(%s,a);}程序运行后的输出结果是( )。AABCDE\0FG\0IJKBABCDIJKCIJKDEFGIJK
单选题有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数):#include#includemain(){ chara[10]=abc,b[10]=012,c[10]=xyz; strcpy(a+1,b+2); puts(strcat(a,c+1));}程序运行后的输出结果是( )。Aa12xyzB12yzCa2yzDbc2yz
单选题EXCEL中,将两个字符串连接起来的运算符是()。A$B+CD-