问题 填空题

以下程序运行后的输出结果是_________。#include char *ss(char*s){char*p,t;p=s+1;t=*s; while(*p) {*(p-1)=*p; p++;}*(p-1)=t;returns;}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。

问答题
单项选择题