gpt4 book ai didi

c - 如何在每个单词之前打印字符串中每个单词的长度

转载 作者:太空宇宙 更新时间:2023-11-04 07:48:31 28 4
gpt4 key购买 nike

我想打印字符串中每个单词的长度。

我试过但没有得到正确答案。运行代码后,它将在单词之后打印每个单词的长度,而不是在每个单词之前打印。

char str[20] = "I Love India";

int i, n, count = 0;
n = strlen(str);

for (i = 0; i <= n; i++) {
if (str[i] == ' ' || str[i] == '\0') {
printf("%d", count);
count = 0;
} else {
printf("%c", str[i]);
count++;
}
}

我除了输出是 1I 4Love 5India,但实际输出是 I1 Love4 India5

最佳答案

您可以将 strtok 用作 Some programmer dude建议。当 strtok 修改传递的字符串时,您可能想要复制原始字符串。此外,strtok 不是线程安全的,在使用多线程程序时必须替换为 strtok_r。

#include <stdio.h>
#include <stdlib.h>

/* for strtok */
#include <string.h>

int main() {
char str[20] = "I Love India";
int n;

char* tok = strtok(str, " ");

while (tok != NULL) {
n = strlen(tok);
printf("%d%s ", n, tok);
tok = strtok(NULL, " ");
}

return EXIT_SUCCESS;
}

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

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