以下程序运行后的输出结果是【 】。 #include<string.h> char* ss(char *s) { char *p,t; p=s+1;t=*s; while(*p){*(p-1)=*p;p++;}

admin2009-02-15  18

问题 以下程序运行后的输出结果是【 】。
#include<string.h>
   char* ss(char  *s)
   {  char  *p,t;
      p=s+1;t=*s;
       while(*p){*(p-1)=*p;p++;}
      *(p-1);t;
      return  s;
   }
   main()
   {char  *p,str[10]="abcdefgh";
      p=ss(str);
      printf("%s\n",p);
   }

选项

答案bcdefgha

解析 函数ss的作用是将指针变量s指向的字符串的首字符移到最后一个位置,其他字符依次前移。其方法是:首先将首字符进行了保存,保存在字符变量t中;其次,从指针变量p指向的字符(字符串s中的第二个字符,即字符b)开始,通过语句“(p-1)=*p;”依次前移,直到*p指向的存储单元中的值为空为止;最后通过语句“*(p-1)=t;”将保存在t中的字符放到移动后的字符串的末尾,所以本题输出的结果是bcdefgha。
转载请注明原文地址:https://jikaoti.com/ti/K4K0FFFM
0

最新回复(0)