这是程序的link,它给出了错误Timeout
同一个程序:
void reverse(char a[],int slen, int elen)
{
int start,end,temp;
for(start=slen,end=elen;start<end;start++,end--)
{
temp=a[start];
a[start]=a[end];
a[end]=temp;
}
}
void reverseall(char a[])
{
int i,n=0,len=0;
for(i=0;i<20;i++)
while(a[i]!='\0')
n++;
for(i=0;i<n;i++)
{
while(a[i]!= ' ')
len++;
reverse(a,i-len,i-1);
}
for(i=0;i<n;i++)
cout<<a[i];
}
int main()
{
char a[20]="hi how are you";
reverseall(a);
return 0;
}
可能是什么原因? 谢谢!
答案 0 :(得分:0)
你的while循环递增n和len都检查a [i]是'\ 0'还是''而不改变循环体中的i。他们应该检查[n]或[len]是否是你想要的,因为n和len是在循环中递增的值。