(пишу про язык си/си++)
Зависит от ситуации.Например при создании динамического массива типа char он забивается абсолютно случайными значениями и для их перебора будет лучше присвоить всем элементам такого массива 0 как будто каждый элемент это конец строки (сделать это можно используя функцию memset()) После заполнить этот массив буквами (закинуть текст например при помощи std::cin.getline()) и тогда мы сможем перебрать этот массив циклом Пример: for (int i = 0; str[i] != 0;++i){...}
где str[] это динамический массив.Еще один случай.Иногда вместо простой инициализации переменной нам нужно присвоить ей любое значение (иначе может не скомпилироваться т.к. там будет лежать не понятно что).Так же и с единицей.