gpt4 book ai didi

c - 在 C 中使用字符串数组

转载 作者:行者123 更新时间:2023-11-30 19:49:32 25 4
gpt4 key购买 nike

我试图使用下面的代码来读取一个句子(字符串),然后显示该句子的单词。它没有按应有的方式显示。我做错了什么?

#include <stdio.h>
#include <string.h>
#define N 100

int main()
{
char s[N];
char words[N][N];
int i=0;
int j=0;
printf("s=");
gets(s);
while ((i<strlen(s)) && (s[i]!='.'))
{
while (s[i]!= ' ')
{
sprintf(words[j],"%c", s[i]);
i++;
}
j++; i++;
}
for (i=0;i<j;i++) printf("%s ", words[i]);
return 0;
}

最佳答案

你的while循环逻辑是错误的;应该是:

int  k = 0;
while (s[i] != ' ')
words[j][k++] = s[i++];
words[j][k] = '\0';

此外,您永远不会向 words[] 写入终止空字符 ('\0'),因此 printf() 调用将会失败。

关于c - 在 C 中使用字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13315712/

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