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, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д