If you have lets say a local int that is uninitialized, then its gets an undefined value but if you have a local char variable should that not have
int
char
Local variables get their initial values from whatever random data is in the stack space they occupy at that moment. There is no guarantee that space contains zeros.