Error C2440: инициализация: невозможно преобразовать 'int' в 'char [100]' - C (СИ)
Формулировка задачи:
Листинг программы
- #include "stdafx.h"
- #include <string.h>
- const int max=100;
- void strcat(char dest[], char src[])
- {
- int n=strlen(dest);
- for(int i=0; i<n-1; i++)
- dest[n+i]=src[i];
- }
- int main()
- {
- char str1[max]='Hello';
- char str2[max]='world!';
- strcat(str1,str2);
- printf("%s",str1);
- return 0;
- }
Решение задачи: «Error C2440: инициализация: невозможно преобразовать 'int' в 'char [100]'»
textual
Листинг программы
- #include <string.h>
- #include<stdio.h>
- const int max=100;
- void strcat(char dest[], char src[])
- {
- int n=strlen(dest);
- for(int i=0; i<n-1; i++)
- dest[n+i]=src[i];
- }
- int main()
- {
- char str1[max]="Hello";
- char str2[max]="world!";
- strcat(str1,str2);
- printf("%s",str1);
- getchar();
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек: iostream, string.h
- Объявление константы max, которая ограничивает размер массива
- Определение функции strcat, которая принимает два массива символов и объединяет их в один
- Вычисление длины строки dest с помощью функции strlen
- Цикл for, который копирует символы из src в dest, начиная с 0-го элемента до n-2, так как последний элемент уже записан в dest[n-1]
- Вызов функции strcat в функции main с массивами str1 и str2
- Вывод результата с помощью функции printf и получение символа новой строки с помощью функции getchar
- Возврат 0, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д