gpt4 book ai didi

c - 打印字符串中最长的单词

转载 作者:行者123 更新时间:2023-12-03 03:30:31 25 4
gpt4 key购买 nike

我写了下面的代码

#include<stdio.h>

int main(void)
{
int i, max = 0, count = 0, j;
char str[] = "I'm a programmer";

for(i = 0; i < str[i]; i++)
{
if (str[i] != ' ')
count++;
else
{
if (max < count)
{
j = i - count;
max = count;
}
count = 0;
}
}
for(i = j; i < j + max; i++)
printf("%c", str[i]);

return 0;
}

本意是查找并打印最长的单词,但当最长的单词 this 在最后作为 我是一名程序员 我打印 时不起作用> 而不是程序员

如何解决这个问题,有人帮我

最佳答案

for 循环的终止条件是错误的。应该是:

    for(i = 0; i < strlen(str) + 1; i++)

而且,因为在字符串末尾没有有一个' ',但是有一个'\0' ,你应该改变:

    if (str[i] != ' ')

至:

    if (str[i] != ' ' && str[i] != '\0')

关于c - 打印字符串中最长的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30830330/

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