Succede perché, dato che non hai preparato lo spazio necessario, la scanf scrive nello stack sopra la variabile IDsecond ...

In ogni caso, il problema principale è la gestione degli array di char come stringhe che ti consiglio di rivedere ...