gpt4 book ai didi

c - 在单独的行中打印每个单词

转载 作者:行者123 更新时间:2023-11-30 20:10:43 25 4
gpt4 key购买 nike

我的程序旨在将句子中的每个单词打印在单独的行上。但我应该用 %s 而不是 %c 打印它!我已经尝试实现它,但程序没有给我正确的输出!我的想法是当你找到空字符时1-打印单词 2- 将临时数组的索引返回到 0 并存储一个新单词

 int main () {
char sen[100];
char cpy [100];
printf("Entter a sentence ");
gets(sen);
int len = strlen(sen);
int i = 0;
int k =0;
for (i=0 ; i<len;i++)
{
if (sen[i]!='\0')
{
cpy[k++]+=sen[i];
}
else{
printf("%s\n",cpy);
k=0;}
}

}

最佳答案

您混淆了空字符和空格字符。空字符 \0 代表“字符串结尾”:strlen 函数返回第一个 \0 之前的字符数。

在 for 循环中,您希望显示由 分隔的每个单词,因此您必须使用字符 而不是 \0 进行测试。

此外,为了正确显示字符串,您必须以 \0 字符结束字符串。因此,在指令 printf 之前,您必须执行 cpy[k] = '\0';

关于c - 在单独的行中打印每个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43700158/

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