sizeof(a)/sizeof(t)
явно кодирует тип в выражении. Теперь у вас есть тип, указанный в нескольких местах, без поддержки компилятора, чтобы гарантировать, что вы используете тот же тип. Итак, если вы измените базовый тип массива, но не в (полностью отдельном) выражении count, bingo: ваш код будет скомпилирован очень хорошо, но количество элементов будет неправильным. Если вам повезет, ваша программа потерпит крах, но если нет, то она будет работать почти полностью правильно, но время от времени будет вести себя совершенно странно.
sizeof(a)/sizeof(a[0])
гарантированно будет правильным, требуя только имя массива. Измените тип, и все в порядке; измените имя массива, и компилятор будет жаловаться. Не нужно думать: нам нравится такое программирование.