1.填空題
請補充函數(shù)fun(),該函數(shù)的功能是:把從主函數(shù)中輸入的字符串str2接在字符串str1的后面。
例如:str1=“How do”,str2=“ you do?”,結(jié)果輸出:How do you do?
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)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結(jié)束標志符‘\0'時,while循環(huán)結(jié)束,變量i停止累加。填空2:指針p2指向字符串str2,通過for循環(huán)將字符串str2接在str1后面,循環(huán)結(jié)束的條件是指針p2所指的字符是字符串結(jié)束標志符‘\0'。填空3:指針p2最初指向字符串str2的首字符,通過自加1,使指針p2依次向后移動,指向str2的各個字符,實現(xiàn)將字符串str2接在str1后面的功能。
相關(guān)鏈接:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |