gpt4 book ai didi

c++ - 使用指针按单词反转字符串

转载 作者:太空宇宙 更新时间:2023-11-04 15:38:22 26 4
gpt4 key购买 nike

我下面的程序反转了一个字符串,不是按字符而是按单词。

示例输入 你好梅洛样本输出 Hello Mello Hello

我不知道我从哪里得到第一个 Hello。

#include "stdafx.h"
#include <iostream>

int main(int argc, char **argv)
{
char input[255];
char *head; // head of a word.
char *tail; // tail of a word.

printf("Enter a sentence: ");
gets_s(input); // read a whole line.
tail = input + strlen(input) - 1;

while (tail >= input)
{
if (*tail == 0 || *tail == ' ')
{
tail--; // move to the tail of a word.
}
else
{
tail[1] = 0;
head = tail;
while (head >= input)
{
if (head == input || *(head - 1) == ' ')
{
printf("%s",input); // output a word.
printf(" ");

tail = head - 1; // seek the next word.
break;
}
head--; // move to the head of a word.
}
}
}

printf("\n\n");
system("pause");
return 0;
}

有人能帮忙吗?

最佳答案

我认为你的意思是 printf head,而不是输入。您是从字符串的开头打印,而不是从您刚找到的单词的开头打印。

printf("%s",head); // output a word.

关于c++ - 使用指针按单词反转字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27951839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com