我正在尝试编写一个小函数来打印中间和末尾包含 0 的字符数组。我的函数没有正确打印它,我缺少什么:-(
预期结果:Good-bye0ld0实际:再见
// call function
char str5[] = { 'G','o','o','d','-','b','y','e',0,'l','d',0 };
displayResult(str5);
// This is function
void displayResult(string _st)
{
int l = _st.length();
for (int i = 0; i<=l; i++)
{
cout << _st[i];
//printf("%s\n", _st[i]);
}
cout << endl;
}
将 0 作为字符 '0'
。因为 '0'
和 0 不一样。当您简单地输入 0 时,您指定的字符的 ASCII 代码是一个空终止符(字符串结尾的标记),您不会在那里看到任何东西。并且不要忘记将空终止符放在末尾。
char str5[] = { 'G','o','o','d','-','b','y','e','0','l','d','0','\0' };
我是一名优秀的程序员,十分优秀!