编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。 例如,分别输入下面两个字符串: FirstString-- SecondString 程序运行后的输出结果是: FirstSt

admin2019-07-10  43

问题 编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。
例如,分别输入下面两个字符串:
FirstString--
SecondString
程序运行后的输出结果是:
FirstString--SecondString
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
void fun(char p1[],char p2[])
{
}
main()
{char s1[80],s2[40];void NONO();
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);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
int i;
FILE*rf,*wf;
char s1[80],s2[40];
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++){
fscanf(rf,"%s",s1);
fscanf(rf,"%s",s2);
fun(s1,s2);
fprintf(wf,"%s\n",s1);
}
fclose(rf);
fclose(wf);
}

选项

答案void fun(char p1[],char p2[]) { int i,j; for(i=0;p1[i]!=’\0’;i++); for(j=0;p2[j]!=’\0’;j++)p1[i++]=p2[j]; p1[i]=’\0’; }

解析 本题用两个循环完成操作,第1个循环的作用是求出第1个字符串的长度,即将i指到第1个字符串的末尾。第2个循环的作用是将第2个字符串的字符连到第1个字符串的末尾。最后在第1个字符串的结尾加上字符串结束标识‘\0’。
转载请注明原文地址:https://jikaoti.com/ti/T7kiFFFM
0

相关试题推荐
最新回复(0)