My C应用程序逐个字符地读取文件,并将char值存储在char数组中。在某一点上,需要清除char数组,以便输入另一个值。但是,当我尝试清除它时,字符仍然保留在数组中。
这是我重置阵列的方法:
void resetArray(){
operand[0] = '\0';
}
我做错了什么?
答案 0 :(得分:3)
将第一个字符设置为空终止符将使数组的其余部分保留在内存中。打印字符串不会打印它们,但它们仍然存在。
你必须清除剩余的记忆。
memset( array , 0 , sizeof( array ) ) ;