> If an object that has automatic storage duration is not initialized explicitly, its value is indeterminate. If an object that has static storage duration is not initialized explicitly, then:
• if it has pointer type, it is initialized to a null pointer;
• if it has arithmetic type, it is initialized to (positive or unsigned) zero;
[end quote]
—C99 Standard, §6.7.8
EDIT: That said, it can only relied upon to be zero at the first call of the function.