Составить функцию, которая дописывает не более чем n символов из рядка t в конец строки - C (СИ)
Формулировка задачи:
Составить функцию strcat(s,t,n), которая дописывает не более чем n символов из рядка t в конец строки s.
Решение задачи: «Составить функцию, которая дописывает не более чем n символов из рядка t в конец строки»
textual
Листинг программы
#include <stdio.h>
void strcat(char *s,char *t, int n)
{
int i=0,j=0;
while(s[i]!='\0')
{
i++; // конец строки s
}
for(j=0;j<n;j++) //дописываем в конец строки
{
s[i]=t[j];
i++;
}
}
int main()
{
char s[10]="abc67";
char t[10]="xyz34";
int n=3;
strcat(s,t,n);
printf("%s",s);
return 0;
}
Объяснение кода листинга программы
- Включаем файл стандартного ввода/вывода
- Функция strcat(char s,char t, int n) принимает три аргумента:
- s - исходная строка
- t - строка, которую необходимо добавить в конец
- n - максимальное количество символов, которые необходимо добавить
- Внутри функции объявляем две переменные i и j, которые будут использоваться для индексации символов строк s и t
- В цикле while с помощью оператора !='\0' находим конец строки s и присваиваем его индексу i
- В цикле for добавляем в конец строки s символы из строки t, используя индексы j и i. При этом увеличиваем значение i на каждой итерации цикла, чтобы перейти к следующему символу в строке s
- В функции main создаем две строки s и t и инициализируем их значениями
abc67иxyz34соответственно - Задаем значение переменной n равным 3
- Вызываем функцию strcat, передавая ей в качестве аргументов строки s и t, а также значение переменной n
- Выводим результат на экран с помощью функции printf, передавая ей в качестве аргумента строку s
- Возвращаем 0 из функции main, чтобы указать, что программа успешно завершилась