Создать строки А1 и А2. В строку А3 добавьте в новую строку последние 4 символа строки A1 и первые 4 символа строки A2
Имеем строки A1 и A2. Строки вводятся пользователем (количество введенных символов не менее 10). Создайте строку A3 в соответствии со следующим правилом: добавьте в новую строку последние 4 символа строки A1 и первые 4 символа строки A2.
Создано рядки А1 и А2:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main()
{
char string [10];
printf ("enter the string A1: ");
gets (string);
printf(string);
printf (" \n enter the string A2: ");
gets (string);
printf(string );
printf (" \n string A3: ");
Помогите , пожалуйста, как осуществить добавления в последнию строку 4 стимволов А1 и первые символы строки А2.
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
Условие:
количество введенных символов не менее 10
Реальность: char string [10];, т.е. количество вводимых символов не более 9.
gets (string);
printf(string);
Первая строка - выход за границы вделенной памяти. Вторая - введите в ккачестве входной строки %s%s и посмотрите, что вам будет выведено.
Решение вот:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char A1[100], A2[100], A3[9];
printf ("enter the string A1: ");
fgets (A1,100,stdin);
printf("A1: %s\n",A1);
printf ("enter the string A2: ");
fgets (A2,100,stdin);
printf("A2: %s\n",A2);
strncpy(A3,A1+strlen(A1)-5,4);
strncpy(A3+4,A2,4);
A3[8] = 0;
printf("A3: %s\n",A3);
}