我的 C 应用程序逐个字符地读取文件并将字符值存储在字符数组中。在某个时刻,需要清除 char 数组以便输入另一个值。但是,当我尝试清除它时,字符仍然保留在数组中。
这是我重置数组的方式:
void resetArray(){
operand[0] = '\0';
}
我做错了什么?
最佳答案
将第一个字符设置为空终止符将使数组的其余部分完整地保留在内存中。打印字符串不会打印它们,但它们仍然存在。
你必须清除剩余的内存。
memset( array , 0 , sizeof( array ) ) ;
关于无法清除字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22211058/