我正在写一个函数将空格替换为' - '(< - 这个字符)。 我最终想要返回我所做的更改。C,计算空格的数量
#include <stdio.h>
int replace(char c[])
{
int i, cnt;
cnt = 0;
for (i = 0; c[i] != EOF; i++)
if (c[i]==' ' || c[i] == '\t' || c[i] == '\n')
{
c[i] = '-';
++cnt;
}
return cnt;
}
main()
{
char cat[] = "The cat sat";
int n = replace(cat);
printf("%d\n", n);
}
的问题是,它正确地改变串入“的猫饱和”,但对于n,则返回值3,当它应该返回2. 我做了什么错?
'C [1] = EOF' - !>>'C [1] = 0' – wildplasser
添加到@wildplasser说了什么,'c [i] =='\ n'' ..你真的需要吗? –
它为我提供正确的输出 – krpra