编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数streat),即把p2所指的字符串连接到p1所指的字符串的后面。 例如,分别输入下而两个字符串: “FirstString一一” “SecondString”

admin2021-04-28  47

问题 编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数streat),即把p2所指的字符串连接到p1所指的字符串的后面。
    例如,分别输入下而两个字符串:
    “FirstString一一”
    “SecondString”
    程序输出:
    “FirstString一一SeeondString”
    注意:部分源程序给出如下。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
    试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
void fun(char p1[],char p2[])
{
}
void main()
{   
  char s1[80],s2[40];
  system(“CLS”);
  printf(“Enter s1 and s2:\n”);
  scanf(“%S%S”,sl,s2);
  printf(“sl=%S\n”,s1);
  printf(“s2=%S\n”,s2);
  printf(“Invoke fun(s1,s2):\n”);
  fun(s1,s2);
  printf(“After invoking:\n”);
  printf(“%S\n”,s1),
}

选项

答案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个循环的作用是求出第1个字符串的长度,即将i指到第1个字符串的末尾;第2个循环的作用是将第2个字符串的字符连到第1个字符串的末尾。最后在第1个字符串的结尾加上字符串结束标识‘\0’。
转载请注明原文地址:https://kaotiyun.com/show/93tp777K
0

最新回复(0)