Объединение слов - C (СИ)
Формулировка задачи:
Доброго времени суток!
есть массив
Я с клавиатуры ввожу
"world" с помощью argv[1]
Далее мне нужно объединить эти записи в одну запись без пробелов. Читал про sprintf, сделать не получилось. Что подскажете? Работать только с char.
char* argvs[]={"Hello",NULL};
Решение задачи: «Объединение слов»
textual
Листинг программы
char* argvs[] = {"Hello"}; char result[100]; strcat(strcpy(result, argvs[0]), argv[1]);
Объяснение кода листинга программы
В данном коде:
- Создается массив из одного элемента, содержащего слово
Hello
, с помощью команды char* argvs[] = {Hello
}; - Создается пустая строка, в которую будут добавляться слова, с помощью команды char result[100];
- С помощью функции strcpy() в пустую строку копируется первое слово из массива argvs[], т.е.
Hello
, с учетом того, чтоHello
- это константа, а result - это переменная, поэтомуHello
будет копироваться в result. - С помощью функции strcat() к содержимому переменной result добавляется второе слово из массива argvs[], т.е. также
Hello
. - В результате в переменной result будет содержаться два слова
HelloHello
. Но стоит отметить, что данный код не обрабатывает ошибки и работает только в случае, если в массиве argvs[] содержится хотя бы одно слово и вызов функций strcpy() и strcat() не приведет к переполнению буфера.