Когда вы объявляете строковую переменную, такую как
char str[] = "abcd";
, это похоже на объявление str[5] = "abcd\0";
Итак, в вашем цикле while сначала проверяется значение *s
, которое'a', что переводится как 97 в таблице ascii.Затем вы печатаете текущее значение внутри указателя * s, а затем увеличиваете указатель на 1, что приводит к следующему символу.Когда вы достигнете \0
, цикл завершится, потому что \0
равно 0;