看在上帝的份上,这似乎是一段简单的代码,我就是不知道哪里出错了。
int count = 0;
for (int i = 0; i<10;i++){
if (chararray[i]=='\0' && i == 0){
cout << "Empty \n";
break;
}
if (chararray[i]!='\0') {
count = count ++;
}
}
cout << "Deleted " << count << "elements \n";
所以基本思想是它遍历数组,如果它是空的,则返回“空”,如果不是,则计算所有非空单元格并返回其中有多少。如果它有什么不同,我把它放在解构方法下。
通常它工作正常,它只是不会正确计数。它要么全部计算,要么不计算。
更新!
谢谢你们!我删除了这一count = count++
行,++count
它显示了比以前更正确的结果,但不是针对所有测试值(我保证不会再犯同样的错误)。事实上,我接受了使用strlen
函数的建议,因为没有特别需要 0 来代替,好吧,什么都没有。它还使代码变得非常短。谢谢!