Брат, ты должен использовать else, если, потому что код проверяет первую проверку, т. Е. A> 0, которая является истинной, то она идет после этого, поскольку больше ничего не присутствует, она переходит к следующему блоку if, то есть a <0, который является ложнымпоэтому он переходит к другому условию этого и печатает число ноль.Чтобы избежать этого, рассмотрите возможность использования else, если так, только один блок является истинным, то есть a> 0, и тогда программа завершает условный оператор
if(a>0)
printf("The no is positive\n");
else if(a<0)
printf("The no is negative\n");
else
printf("The no is zero\n");