Why does this array have stored values in it even though I have not put any values in it? void alarm() {
  char keypressed4;
  char keypressed5;
  char keypressed6;
  char keypressed7;
  char disarmcode1[5];
  Serial.println("hi2");
  Serial.println(disarmcode1);


The array gets declared here and I print the values in the empty array. In the serial monitor I read this:

hi2
"c


I don't know why or how these values get put into the array. I have code later on that puts values into the array, but from where that point in the code is, no values should be in the array

Also I have an LCD screen hooked up too, and it prints a value of 0 at (2, 0).
The values haven't been "put" in the array. The array has been located in memory where those values (left over from some earlier operation, possibly as part of a function's stack frame) happen to be.

The simple fact that you haven't put anything in there means that what was there before hasn't been changed.