我已经写过了我将翻转一个句子并打印出来的程序。正确翻译一个句子时最后一个单词不被翻转
在这段代码中,除了最后一个,我得到了所有正确的单词。即在代码中翻转句子之后,“hiii”仍然是“iiih”,其余的输出是正确的。
void reverse(char * s, int len){
int counter = 0;
int end = len - 1;
char temp;
for (counter = 0; counter < len/2; counter++, end--) {
temp = s[counter];
s[counter] = s[end];
s[end] = temp;
}
}
int main(void){
char s[] = "hiii all i want to reverse this sentence so please help me fast";
int c = 0;
int len = strlen(s);
int wl = 0;
int start = 0;
printf("\n s = %s", s);
reverse(s, len);
for (c = 0; c < len; c++){
if (!wl)
start = c;
if (s[c] != ' '){
wl++;
}
else {
reverse(s + start, wl);
wl = 0;
}
}
printf("\nnow s = %s", s);
}
第一个正确缩进。学习[缩进C程序](http://www.cs.arizona.edu/~mccann/indent_c.html)。 –
Priyanka很快就检查了这个[help-center](http://stackoverflow.com/posts/21348646/revisions),并学习了[如何提出问题](http://meta.stackexchange.com/questions/18584/如何问一个聪明的问题) –