Указатели char*. Принцип работы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. пример:
char *s1="Any1", s2="Any2";
 
void string_copy(char *s1, char *s2)
{
while((*s1++= *s2++)!='\0')
;
}
ведь s1 и s2 указывают на начало соответствующих строк вопрос: получается что копирование ориентируется только на '\0', а если по какой-то причине '\0' не встретится(сбой, например), то что? ведь char* - просто адрес, который можно положить в соответствующий по размеру целочисленный тип ?

Решение задачи: «Указатели char*. Принцип работы»

textual
Листинг программы
void string_copy(char *s1, char *s2) {
    while (*s1++ = *s2++);
}
int main() {
    char s1[50] = "Any1";
    char s2[] = "Any2";
    string_copy(s1, s2);
}

Объяснение кода листинга программы

  1. В функции string_copy происходит копирование строки s2 в строку s1.
  2. В функции main создаются две строки s1 и s2 типа char с помощью оператора [].
  3. Первая строка s1 инициализируется значением Any1, а вторая строка s2 значением Any2.
  4. Затем вызывается функция string_copy, которая копирует строку Any2 в строку Any1.
  5. Результатом работы программы является скопированная строка Any2 в строку Any1.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы