填空题
1. 请补充函数proc(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。
例如,str1="I am a",str2="student",结果输出:I am a student。
注意:部分源程序如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#define M 40
void proc(char *str1,char *str2)
{
int i=0;
char *p1=str1;
char *p2=str2;
while(______)
i++;
for(;______;i++)
*(p1+i)=______;
*(p1+i)='\0';
}
void main()
{
char str1[M],str2[M];
system("CLS");
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);
proc(str1,str2);
printf("****The new string****\n");
puts(str1);
}
【正确答案】
1、*(p1+i)
*p2
*p2++
【答案解析】 要将字符串str2接在字符串str后面,首先,要得到字符串str1的长度,因此,第1空处填“*(p1+i)”;然后,将字符串str2中的每一个字符接在字符串str1所有字符的后面,因此,第2空处填“*p2”,第3空处填“*p2++”。