该代码不起作用,它没有给出准确的结果。我不知道问题出在哪里或错过了编码?我的输入和输出:
Enter a sentence :
hello im here to help you
heleh im here to help you
我使用了以下代码,
int main()
{
/*
Enter a sentence to get reverse of each word
hello this is CPROGRAM Enjoy Programming
olleh siht si MARGORPC yojnE gnimmargorP
*/
char str[100];
printf("Enter a sentence : \n");
fgets(str, 100, stdin);
revwords(str);
fputs(str, stdout);
return 0;
}
void revwords(char* str){
int i = 0;
for(int j=1;str[j] != '\0';j++){
if( str[j] == ' ' || str[j] == '\t' || str[j] == '\n'){
rev(str, i, j-1);
i = j+1;
j++;
}
}
}
void rev(char* str, int from, int to){
char temp;
for(int i=from;i<= to/2;i++){
temp = str[i];
str[to-i] = str[i];
str[to-i] = temp;
}
}