模拟试题 (一) 1
填空题请补充函数 fun() ,该函数的功能是:把从主函数中输入的字符串str2接在字符串 str1的后面
例如: str1=“How do”,str2=“ you do
”,结果输出: How do you do
注意: 部分源程序给出如下
请勿改动主函数main和其他函数中的任何内容,仅在函数 fun的横线上填入所编写的若干表达式或语句
试题程序:#include #include #define N 40 void fun(char *str1,char *str2) { int i=0; char *p1=str1; char *p2=str2; while(【1】) i++; for( ;【2】;i++) *(p1+i)=【3】; *(p1+i)='\0'; } main() { char str1[N],str2[N]; clrscr(); printf("*****Input the string str1 & str2*****\n"); printf(" \nstr1:"); gets(str1); printf(" \nstr2:"); gets(str2); printf("**The string str1 & str2**\n"); puts(str1); puts(str2); fun(str1,str2); printf("*****The new string *****\n"); puts(str1); } 答案及评析 :【1】 *(p1+i) 【 2】 *p2 【3】 *p2++【解析】填空1:变量 i 用来记录字符串str1的长度,当指针指到字符串str1结束标志符 ‘\0' 时, while循环结束,变量i 停止累加
填空2:指针 p2 指向字符串 str2 ,通过 for循环将字