基本上這個程序應該從用戶那裏得到輸入並且翻譯句子中的每個單詞。因此,如果我的「Hello World」應該打印「olleH dlroW」,但現在它會打印「dlroW olleH」。所以我的程序翻譯了整個句子,而不僅僅是特定的單詞。不確定如何處理它。我竭盡全力。如何在翻譯句子中的每個單詞時考慮空格?
#include <stdio.h>
#include <string.h>
void reverse(char *str, int start, int end)
{
char temp;
while (start < end)
{
if(isspace(str[start]))
{
printf("%s ", str);
start++;
}
else
{
temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
return;
}
int main()
{
char word[256];
int i=0, bound;
printf("Enter a string\n");
fgets(word, 256, stdin);
printf("%s", word);
bound = strlen(word);
reverse(word, i, bound-1);
printf("%s\n", word);
}
@ETech:無論是在C編程語言也沒有了它的標準庫定義了' VECTOR'。如果問題是關於C++的話,那將是一個合理的方法。 – ShadowRanger
赦免載體。改用char **數組。 – ETech
提示:將「reverse」重命名爲「reverse_word」,並在空格處分割句子;一旦你完成了,取消積累的結果 –