Я пытаюсь создать сетку для настольной игры, я знаю максимальный размер доски, однако он также может быть меньше в зависимости от того, что пользователь вводит в командной строке. Я сделал следующую программу, она успешно компилируется, но когда я пишу размеры в командную строку, она говорит: «Ошибка сегментации (сброс ядра)». Может ли кто-нибудь сказать мне, что я сделал неправильно?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BOARD_WIDTH 80
#define BOARD_HEIGHT 52
int i;
int j;
int width;
int height;
int generations;
int grid[BOARD_WIDTH][BOARD_HEIGHT];
int main(int argc, char *argv[])
{
if (argc < 2)
{
printf("Not enough arguments entered\n");
exit(1);
}
else
{
width = atoi(argv[2]);
height = atoi(argv[3]);
generations = atoi(argv[4]);
}
for(i=0;i<width;i++)
for(j=0;j<height;j++)
printf("%2d", grid[i][j]);
}
atoi
argv[1]
,argv[2]
иargv[3]
. Прочтите и следуйте указаниям в ответе Салгара. - person Klas Lindbäck   schedule 14.05.2013