本题要求编写函数,将输入字符串的前3个字符移到最后。
我的代码
void Shift(char s[]){
int i,j,count=0;
char a;
for(i=0;i<MAXS;i++){
if(s[i]!='\0')
count++;
if(s[i]=='\0')
break;
}
for(i=0;i<3;i++){
a=s[0];
for(j=0;j<=count-1;j++){
s[j]=s[j+1];
}
s[count-1]=a;
}
}
count起到记录字符串长度的作用。
如果没有if(s[i]==’\0’) break;的话,count的值就相当于MAXS-1,那么得出的答案只有在字符串长度超出MAXS的情况下正确。