Сравнение двух строк в переменных - C (СИ)
Формулировка задачи:
Здравствуйте, меня интересует 1 вопрос - почему происходит так, как происходит?)
Если мы объявим:
...
то сравнение strcmp(s5, s1) пройдет нормально
а если мы объявим:
то программа завершается при сравнении strcmp(s5, s2).
и сравнивать strcmp(s5, s1) или strcmp(s5, s2), то программа то же закрывается. Да, я знаю, что строки заканчиваются '/0', но там же 2 строки и они обе должны так заканчиваться?) или я ошибаюсь?
#define max 10
const char* s1 = "s1"; const char* s2 = "s2"; char s5[max] = "";
const char* s1 = "s1", s2 = "s2"; char s5[max] = "";
Кроме того, если объявить так
const char s1 = "s1", s2 = "s2"; char s5[max] = "";
Решение задачи: «Сравнение двух строк в переменных»
textual
Листинг программы
const char s1 = "s1", s2 = "s2"; char s5[max] = "";
Объяснение кода листинга программы
- Объявляются две константы типа const char: s1 и s2, и инициализируются строками
s1
иs2
соответственно. - Объявляется переменная типа char: s5, и инициализируется пустой строкой (в C пустая строка представляется как ``).
- Переменная s5 имеет тип char, но в C массивы строк (в том числе и массив s5) имеют тип char*.
- В C массивы строк имеют фиксированный размер, поэтому для работы с ними необходимо использовать функции из библиотеки
. - Если необходимо сравнивать строки, то лучше использовать функции strcmp() или strncmp().
- Для добавления символа в строку в C необходимо использовать функцию strcat().
- Для получения длины строки в C используется функция strlen().
- Для очистки памяти от ненужных строк в C можно использовать функцию free().
- В C строки сравниваются без учета регистра, поэтому для сравнения строк с учетом регистра необходимо использовать функции strncasecmp() или strcasecmp().
- Для поиска подстроки в строке в C используется функция strstr().
- Для замены подстроки в строке в C используется функция strreplace().
- Для разделения строки на части в C можно использовать функцию strtok().
- Для объединения нескольких строк в одну в C можно использовать функцию strcat().
- Для получения подстроки в C можно использовать функцию substr().
- Для сравнения двух строк в C можно использовать функцию strcmp().
- Для копирования строки в C можно использовать функцию strcpy().
- Для вставки подстроки в строку в C можно использовать функцию strinsert().
- Для удаления подстроки из строки в C можно использовать функцию strdelete().
- Для поиска позиции подстроки в строке в C можно использовать функцию strpos().
- Для формирования строки из массива символов в C можно использовать функцию strfromarray().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д