Вопросы с тегом «c-strings»

288
Почему я получаю ошибку сегментации при записи в «char * s», инициализированный строковым литералом, но не «char s []»?

Следующий код получает ошибку сегмента в строке 2: char *str = "string"; str[0] = 'z'; // could be also written as *str = 'z' printf("%s\n", str); Пока это работает на отлично char str[] = "string"; str[0] = 'z'; printf("%s\n", str); Протестировано с MSVC и...

21
'\ 0' и printf () в C

Во вводном курсе C я узнал, что при хранении строки хранятся с нулевым символом \0в конце. Но что, если я хочу напечатать строку, скажем, printf("hello")хотя я обнаружил, что это не заканчивается \0следующим утверждением printf("%d", printf("hello")); Output: 5 но это кажется противоречивым,...

10
Как массивы символов должны использоваться в качестве строк?

Я понимаю, что строки в C - это просто символьные массивы. Поэтому я попробовал следующий код, но он дает странные результаты, такие как вывод мусора или сбой программы: #include <stdio.h> int main (void) { char str [5] = "hello"; puts(str); } Почему это не работает? Он компилируется чисто с...