【发布时间】:2015-09-22 22:13:51
【问题描述】:
我下面的代码产生了奇怪的输出。我不太确定发生了什么。我的程序..此方法专门用于从字符串中删除任何出现的 char c。
在测试时,如果 string[0] 等于 char,那么这将删除出现。否则变量:word 将打印原始字符串。
代码:
rmchr(char *string, char c)
{
int i=0, count=0;
char word[100]={0};
int s = strlen(string);
for(i=0; i<=(s-2); i++)
{
if(string[i] != c)
{
strcat(word, &string[i]);
count++;
}
}
printf("Word: ");
for(i=0; i<=count; i++)
{
printf("%c", word[i]);
}
printf("\n");
}
输出:
Enter a String: Andrew
Enter a Char: f
Word: Andrew
n
Enter a String: AAABA
Enter a Char: A
Word: BA
Enter a String: David
Enter a Char: D
Word: avid
v
【问题讨论】:
-
给定的代码无法生成给定的输出。提供minimal reproducible example。
标签: c arrays char output strcat