Указатели char*. Принцип работы - C (СИ)
Формулировка задачи:
Здравствуйте.
пример:
ведь s1 и s2 указывают на начало соответствующих строк
вопрос:
получается что копирование ориентируется только на '\0', а если по какой-то причине '\0' не встретится(сбой, например), то что? ведь char* - просто адрес, который можно положить в соответствующий по размеру целочисленный тип ?
char *s1="Any1", s2="Any2"; void string_copy(char *s1, char *s2) { while((*s1++= *s2++)!='\0') ; }
Решение задачи: «Указатели 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); }
Объяснение кода листинга программы
- В функции
string_copy
происходит копирование строкиs2
в строкуs1
. - В функции
main
создаются две строкиs1
иs2
типаchar
с помощью оператора[]
. - Первая строка
s1
инициализируется значениемAny1
, а вторая строкаs2
значениемAny2
. - Затем вызывается функция
string_copy
, которая копирует строкуAny2
в строкуAny1
. - Результатом работы программы является скопированная строка
Any2
в строкуAny1
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д