Программа падает при попытке записи элементов структуры - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Есть такая структура
struct Follower { //структура
char Words[1000];
float Count;
char kod[5];
};
Она описывается как массив в main.При попытке записать туда что-либо выскакиывает ошибка - закрывается консоль.
int main(){
long int i=0,size=0,probs[1500],t=0,h=0,d=0;
char Words[10],prev,nul;
 
Tree massive [1500] ;
 
FILE *file;
file=fopen("1232.txt","r+");
Words[0]='\0';
 
fscanf(file,"%s",Words);     
printf("%s    \n ",Words);        

strcpy(massive[0]->Words,"1");// Здесь ошибка. strcat также не работает.
Причем при создании обычного массива char W[1000] и вызове
strcpy(W,"1");
Все работает. Что не так в структуре?

Решение задачи: «Программа падает при попытке записи элементов структуры»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
// объявление структуры создает новый тип данных
typedef struct {
    char Words[ 1000 ];
    float Count;
    char kod[ 5 ];
} Follower;
 
int main( void ) {
 
    Follower arrayFollower[ 1500 ]; // объявляем массив структур НОВОГО типа данных
    strcpy( arrayFollower[ 0 ].Words, "12345" ); // Здесь теперь все работает
    printf( "%s", arrayFollower[ 0 ].Words );
 
    return EXIT_SUCCESS;
}

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

  1. Подключение необходимых библиотек: stdio.h, stdlib.h, string.h
  2. Объявление структуры Follower с полями Words, Count, kod
  3. Объявление массива структур Follower с именем arrayFollower и размером 1500
  4. Копирование строки 12345 в первое поле массива arrayFollower (Words)
  5. Вывод содержимого первого поля массива arrayFollower (Words)
  6. Возврат успешного завершения программы (EXIT_SUCCESS)

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


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

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

8   голосов , оценка 3.875 из 5
Похожие ответы