问题 问答题

请编写函数fun(),它的功能是:实现两个字符串的连接(不使用库函数strcat()),即把p2所指的字符串连接到p1所指的字符串后。
例如,分别输入下面两个字符串:
FirstString--
SecondString
则程序输出:
FirstString--SecondString
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

[试题源程序]


#include<stdio.h>
#include<conio.h>
void fun(char p1[], char p2[])


main()

char s1[80], s2[40];
clrscr();
printf("Enter s1 and s2:\n");
scanf("%s%s", s1, s2);
printf("s1=%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 pA[], char pB[])

{

int i=0, n=0;

char *p=pA, *q=pB;

while(*p)

{

p++;

n++;

}

i=n;

while(*q)

{

pA[i]=*q;

q++;

i++;

}

pA[i]=’\0’;

}

解析:

用指针遍历第一个字符串,把指针定位到串尾标志符处;遍历第二个字符串,依次把字符复制到第一个字符串的末尾;最后赋结尾标志符。

单项选择题
单项选择题