问题 填空题

下面的程序实现字符串的复制。
void copy_string(from,to)
【14】 ;
for(;*from;from++,to++)
*to=*from;
【15】 ;

main()
char *a="I am wang",*b="you are Li";
printf ("%s\n%s\n",a,b);
【16】 ;
printf("%s\n%s\n\n",a,b);

答案

参考答案:[AD] char*from, *to
[AE] *to=’\0’
[AF] copy_string(a, b)

解析: 函数copy_string()用到了形参from,to是指针变量,实参a、b是字符串指针,空【14】应填形参说明语句“char*from, *to”。当from所指的字符串全部复制给to所指的字符串时,有可能to所指原字符串长度大于from所指字符串长度,即可能to所指串的后面字符仍留在复制后的to所指串中。为避免这种情况,必须在from所指串复制完后,马上给to所指串加上串结束符。因此,空【15】应填*to=’\0’。main()函数应调用copy_string()函数,空【16】应填copy_string(a, b)。

单项选择题
单项选择题