填空题 请补充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({{U}}【1】{{/U}}); while({{U}}【2】{{/U}}) *p1++=*p2++; printf(" Display strl /n"); puts ({{U}}【3】{{/U}}) }
  • 1、
【正确答案】 1、[1]strlen(strl)<strlen(str2)    
【答案解析】[2]*p2 [3]str1 [解析] 填空1:如果字符串str2的长度大于字符串str1的长度,则要重新输入,即继续执行do-while循环。填空2:如果 p2所指的字符不为,仍'/0',即还没有执行到str2的最后一个字符,则将这个字符赋给字符串str1的对应字符。填空3:函数puts()的功能是将一个字符串输出到终端设备,由程序可以知道,此时应该输出字符串str1。