问题
填空题
以下程序运行后的输出结果是______。
#include
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中的字符放到移动后的字符的末尾。