下列给定程序中函数fun()的功能是;先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。例如:当s中的字符串为ABCDE时,则t中的字符串应为EDCBAABCDE。 请改正程序中的错误,使它能得出正确的结果。 注

admin2010-05-05  10

问题 下列给定程序中函数fun()的功能是;先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。例如:当s中的字符串为ABCDE时,则t中的字符串应为EDCBAABCDE。
   请改正程序中的错误,使它能得出正确的结果。
   注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
   试题程序:
   #include  <conio.h>
   #include  <stdio.h>
   #include  <string.h>
   void fun (char *s, char *t )
   {
    int i,sl;
    sl=strlen(s);
    for (i=0;i<sl;i++)
      t=s[sl-1];
      for (i=0; i<sl; i++)
   /*************found**************
        t [sl+i]=s ;
      t [2*sl]-’\0’;
   }
   main ( )
   { char s[100], t[100];
    clrscr();
    printf("\nPlease enter string s: ");
           scanf ("%s", s);
    fun (s,t);
    printf  ("The result is: %s\n",t);
   }

选项

答案错误: t[i]=s[s1-1]; 正确: t[i]=s[s1-1-i];

解析 该题也是几个循环语句的嵌套使用,难度并不大,重要的足要读懂程序,题目中赋值语句t=s[]s1-1;并不能完成累计循环,所以正确的应该是t=s[s1-1-i];。
转载请注明原文地址:https://kaotiyun.com/show/PXID777K
0

最新回复(0)