Некоторые функции C могут изменять строковое значение без того, чтобы передать его адрес. Например:Как изменить строковое значение без пароля pass ** в качестве параметра?
char * s = "foo\0";
tobaa(s); /* Now foo is modified to something like "baa" */
printf("%s", s); /* baa */
Как я это?
Вам не нужно явно помещать '\ 0' в конец строкового литерала. Это делается автоматически. И измените 'char * s' на' char s [] ' – Shahbaz
@Shahbaz: Спасибо за ваше уведомление. Это стандарт C? и все компиляторы C делают это? – Jack
Да, это стандарт – Shahbaz