Запитання з тегом «c-strings»

17
Чому я отримую помилку сегментації під час запису до "char * s", ініціалізованого рядковим буквалом, але не "char s []"?
Наступний код отримує seg fault у рядку 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 та GCC.

9
'\ 0' і printf () в C
У вступному курсі C я дізнався, що під час зберігання рядків зберігаються з нульовим символом \0в кінці. Але що робити, якщо я хотів надрукувати рядок, скажіть, printf("hello")хоча я виявив, що це не закінчується \0наступним твердженням printf("%d", printf("hello")); Output: 5 але це здається непослідовним, наскільки я знаю, що такі змінні, як …
21 c  printf  stdout  c-strings 


4
Як масиви символів повинні використовуватися як рядки?
Я розумію, що рядки в C - це просто масиви символів. Тому я спробував наступний код, але він дає дивні результати, такі як вихід сміття або збої програми: #include <stdio.h> int main (void) { char str [5] = "hello"; puts(str); } Чому це не працює? Він складено чисто з gcc …

1
Порівнюючи std :: string та літеральні рядки в стилі C
Припустимо, у мене є такий код: #include <iostream> #include <string> #include <iomanip> using namespace std; // or std:: int main() { string s1{ "Apple" }; cout << boolalpha; cout << (s1 == "Apple") << endl; //true } Моє запитання: як система перевіряє між цими двома? s1є об'єктом , а "Apple"являє …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.