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 C2015: слишком много знаков в константе error C2440: инициализация: невозможно преобразовать 'int' в 'char [1000]'

Решение задачи: «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;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек: iostream, string.h
  2. Объявление константы max, которая ограничивает размер массива
  3. Определение функции strcat, которая принимает два массива символов и объединяет их в один
  4. Вычисление длины строки dest с помощью функции strlen
  5. Цикл for, который копирует символы из src в dest, начиная с 0-го элемента до n-2, так как последний элемент уже записан в dest[n-1]
  6. Вызов функции strcat в функции main с массивами str1 и str2
  7. Вывод результата с помощью функции printf и получение символа новой строки с помощью функции getchar
  8. Возврат 0, что означает успешный конец работы программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5