Facendo il debug, mi sono accorto che il programma considera - inserendo in input 123456789 - a[0], a[1], a[2], .........., a[9] rispettivamente come 49, 50, 51,............., 57 e quindi fa la somma di questi numeri...considera gli elementi presenti nell'array come caratteri o sbaglio?