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

题目

编写一个函数fun(),它的功能是:实现两个字符串的连接(不使用库函数strcat,即把p2所指的字符串连接到p1所指的字符串后。

例如,分别输入下面两个字符串:

FirstString

SecondString

则程序输出:

FirstStringSecondString

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号小填入所编写的若干语句。

试题程序:

include <stdio. h>

include<conio. h>

void fun (char pi[],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);

}


相似考题
更多“编写一个函数fun(),它的功能是:实现两个字符串的连接(不使用库函数strcat,即把p2所指的字符串连 ”相关问题
  • 第1题:

    有以下函数: fun(char*a,char*b) { while((*a!='\'0 & &(*b!='\0') & &(* a = * b)) {a++;b++;} return(*a-*b); } 该函数的功能是 ______。

    A.计算a和b所指字符串的长度之差

    B.将b所指字符串连接到a所指字符串中

    C.将b所指字符串连接到a所指字符串后面

    D.比较a和b所指字符串的大小


    正确答案:D
    解析:字符串的比较规则是对两个字符串自左至右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到 '\0'为止,相等,则返回0,否则返回第一个不等字符串的ASCII码的差值。

  • 第2题:

    编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到pl所指的字符串的后面。

    例如,分别输人下面两个字符串:FirstString——SecondString

    程序运行后的输出结果是:FirstString————SecondString

    注意:部分源程序在文件PROGl.C中。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


    正确答案:
    voidfun(charpl[],charp2[])in“,j;for(i=0;pl[i]f=。、0’;i++);for(j=0;p2[j]!=。、0’;j++)p1[i++]=p2[j];p1[i],_。、0’;}【考点分析】“本题考查:不使用字符串函数实现字符串连接操作。通过for循环语句来完成,不要忘了最后需要加上字符串结束标识‘、0’。【解题思路】本题用两个循环完成操作,第1个循环的作用是求出第1个字符串的长度,即将i指到第1个字符串的末尾。第2个循环的作用是将第2个字符串的字符连到第l个字符申的末尾。最后在第l个字符串的结尾加上字符串结束标识‘、0’。

  • 第3题:

    请编写函数con(char s1[ ], char s2[ ]),其功能是实现两个字符串的连接(不能使用库函数strcat), 即把字符数组s2中的字符串连接到字符数组s1字符串的后面。 例如main函数中输入"hello",“world”,则最后输出``“helloworld” ;


  • 第4题:

    有以下函数fun(char *a,char *b) { while((*a!=’\0’)&&(*b!=’\0’)&&(*a==*b)) { a++;b++; } return(*a-*b); }该函数的功能是A.计算a和b所指字符串的长度之差B.将b所指字符串连接到a所指字符串中C.将b所指字符串连接到a所指字符串后面D.比较a和b所指字符串的大小


    正确答案:D
    字符串的比较规则是对两个字符串自左至右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到’\0’为止,若全部字符相同,则认为相等;若出现不相同的字符,则以第一个不相同的字符的比较结果为准,该函数就实现了此功能,如果两字符串相等,则返回0,否则返回第一个不等字符串的ASCII码的差值。

  • 第5题:

    有以下函数: fun(char * a,char *B) { while((*a!='\0')&&(*b!='\0')&&(*a==*b)) { a++;b++;} return(* a-*b); } 该函数的功能是______。

    A.计算a和b所指字符串的长度之差

    B.将b所指字符串连接到a所指字符串中

    C.将b所指字符串连接到a所指字符串后面

    D.比较a和b所指字符串的大小


    正确答案:D
    解析: 本题的函数fun的最后一个语句是“return(*a-*b);”,也就是返回指针a所指单元的值与指针b所指单元的值的差。显然这不可能是计算a和b所指字符串的长度之差,因此选项A的说法是错误的。由于函数中并没有出现。a=*b的赋值操作,所以选项B的连接字符串的说法也是错误的。同理,由于没有*a现*a=*b的赋值操作,所以选项C的复制字符串的说法也是错误的。排除了三个选项后,就可以断定正确选项是D。