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

admin2009-02-15  25

问题 下面的程序实现字符串的复制。
   void copy_string(from,to)
【  】;
   {  for(;*from;from++,to++)
      *to=*from;
【  】;
   }
   main()
   {  char *a="I am wang",*b="you are Li";
      printf ("%s\n%s\n",a,b);
【  】;
   printf("%s\n%s\n\n",a,b);
   }

选项

答案char*from, *to *to=’\0’ copy_string(a, b)

解析 函数copy_string()用到了形参from,to是指针变量,实参a、b是字符串指针,第一个空格应填形参说明语句“char*from, *to”。当from所指的字符串全部复制给to所指的字符串时,有可能to所指原字符串长度大于from所指字符串长度,即可能to所指串的后面字符仍留在复制后的to所指串中。为避免这种情况,必须在from所指串复制完后,马上给to所指串加上串结束符。因此,第二个空格应填*to=’\0’。main()函数应调用copy_string()函数,第三个空格应填copy_string(a, b)。
转载请注明原文地址:https://jikaoti.com/ti/XVK0FFFM
0

最新回复(0)