Вот функция, которая определяет количество переносов, из нее несложно сделать функцию, которая определяет, есть ли переносы
trans(unsigned long int a, unsigned long int b){int count;
a += b; while ((a%10 == 1 || a %10 == 0) && a) a /= 10; while (a%10 != 0) { a /= 10; count ++;} return count;}