04
Июл
2022

Почему программа крашится?? Язык С

Я не знаю почему крашится моя программа но в отладчике я прошёлся по программе и увидел что крашит её на строке где есть strcpy().Код как и само задание взято с Codewars. Вот ссылка:https://www.codewars.com/kata/58f5c63f1e26ecda7e000029

#include <string.h>
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
void wave(const char *y, char **target) {
    int count=0,counts=0;
    const char *p = y;
    while(*y!='\0') {
  if(!isspace(*y)) {
      strcpy(target[count],p);
      target[count][counts]=toupper(*y);
      count++;
  }
  counts++,y++;
    }
}

int main()
{
    const char* y = "Hello";
    char* target[] = {"Hello","Hello","Hello","Hello","Hello"};
    wave(y,target);
}

Вот исправленная версия но она всё равно крашится

#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
void wave(const char *y, char **target) {
    int count=0,counts=0;
    const char *p = y;
    while(*y!='\0') {
  if(!isspace(*y)) {
      strcpy(target[count],p);
      target[count][counts]=toupper(target[count][counts]);
      count++;
  }
  counts++,y++;
    }
}

int main()
{
    const char* y = "Hello";
    char* r = (char*)malloc((strlen(y)+1)*sizeof(char));
    wave(y,&r);
}

Источник: https://ru.stackoverflow.com/questions/1426411/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0-%D0%BA%D1%80%D0%B0%D1%88%D0%B8%D1%82%D1%81%D1%8F-%D0%AF%D0%B7%D1%8B%D0%BA-%D0%A1

Тебе может это понравится...

Добавить комментарий