gpt4 book ai didi

c - 替换句子中的多个空格

转载 作者:行者123 更新时间:2023-11-30 18:56:44 24 4
gpt4 key购买 nike

我最终得到了一些角色。尽管这种情况并不总是发生。有人可以告诉我如何纠正错误吗?

main()
{
char ar[100];
char br[100];
gets(ar);
int c=strlen(ar);
int b=0,d=0;
while(b<c)
{
br[d]=ar[b];
if(ar[b]==' ')
{
while(ar[b]==' ')
{
b++;
}
b--;
}
b++;
d++;
}

printf("\n");

puts(br);
getch();
}

输入:

Hello    this is vinay.

预期输出:

Hello this is vinay.

我得到的输出:

Hello this is vinay.*

* 是一些右箭头字符,不知道如何描述它。

最佳答案

您忘记以 null 终止字符串,因此在打印字符串时,printf 停在内存末尾而不是字符串末尾,这对于用户来说意味着打印垃圾,在这里更正的代码:

int main() //main is supposed to return a int
{
char ar[100];
char br[100];
gets(ar);
int c=strlen(ar);
int b=0,d=0;
while(b<c)
{
br[d]=ar[b];
if(ar[b]==' ')
{
while(ar[b]==' ')
{
b++;
}
b--;
}
b++;
d++;
}
br[d] = '\0'; //null terminate the string. `br[d]=0;` work too.
printf("\n");

puts(br);
getch();
return 0; //Convention for "all is good"
}

关于c - 替换句子中的多个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23497518/

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