问题 填空题

请补充main函数,该函数的功能是:从键盘输入两上字符串并分别保存在字符数组str1和str2中,用字符串str2替换字符串str1前面的所有字符,注意,str2的K度不大于str1,否则需要重新输入。 例如,如果输入strl;=“abced”,str2=“fk”,则输出“fkced”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仪在 main函数的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> #include<string. h> main () { char strl [ 81], str2 [ 81 ]; char *pl=strl, *p2=str2; clrscr (); do {printf(" Input strl tn");gets (strl);printf(" Input str2 In");gets (str2); }while(【1】); while(【2】)*p1++=*p2++; printf(" Display strl \n"); puts (【3】) }

答案

参考答案:[1]strlen(strl)<strlen(str2)

解析:[2]*p2 [3]str1 填空1:如果字符串str2的长度大于字符串str1的长度,则要重新输入,即继续执行do-while循环。填空2:如果 p2所指的字符不为,仍’\0’,即还没有执行到str2的最后一个字符,则将这个字符赋给字符串str1的对应字符。填空3:函数puts()的功能是将一个字符串输出到终端设备,由程序可以知道,此时应该输出字符串str1。

单项选择题 A1/A2型题
多项选择题