鉴于输入〜Zw ~~“iE ^ L我应该得到!w~”iE ^ L而不是我得到Zw~“iE ^ L
所以它抓住了~~就好了,用〜替换它但是我想用!替换~Z!
有什么想法吗?
for (j = 0; j < dataCharCount; j++, k++)
{
if (inputData[j] == '~' && inputData[j + 1] == '~')
{
filteredInputData[k] = '~';
j++;
}
else if (inputData[j] == '~' && inputData[j + 1] == 'Z')
{
filteredInputData[k] = '!';
j++;
}
filteredInputData[k] = inputData[j];
}
答案 0 :(得分:3)
} else {
filteredInputData[k] = inputData[j];
}
如果没有else,则在if语句之后覆盖filteredInputData[k]
。
答案 1 :(得分:0)
在最后一个函数之前缺少else
。您确实不希望在执行替换后将输入复制到输出(filteredInputData[k] = inputData[j];
)。
答案 2 :(得分:0)
循环中的最后一个语句会覆盖您通过~
声明正文撰写的!
或if
。它看起来适用于~~
的原因是它用另一个~
覆盖~
。在~Z
案例中,您使用!
覆盖了Z
。使用调试器逐步执行代码 - 您将立即看到正在发生的事情。