C言語について プログラムが動きません
ゲームのプログラムを作りたいものです。
今、試作の途中の段階で以下のようなプログラムを作ってみたのですが、
コアダンプが表示されてうまく起動しません。
どの点を変更すればいいのか、教えてください。
使っている言語はC言語です。
よろしくお願いいたします。
#include <stdio.h>
#include <string.h>
struct monster{
int type; /* タイプ */
char trick[25]; /* 技 */
char trick2[25]; /* 技2 */
int tricktype; /* 技1のタイプ */
int tricktype2; /* 技2のタイプ */
int trickeffect; /* 技1の威力 */
int trickeffect2; /* 技2の威力 */
char name[10]; /* 名前 */
int attack; /* 攻撃力 */
int diffence; /* 防御力 */
int speed; /* 素早さ */
/* 1,fire 2,water 3,nature 4,thunder 5,wind */
};
char names[5][10] = {"v", "w", "x", "y", "z"};
main(){
int s = 0;
int a[3];
int i;
int m;
struct monster monster[5] = {
{ 1, "a", "b", 1, 2, 120, 80, "v", 60, 60, 60},
{ 2, "a", "b", 2, 3, 120, 80, "w", 60, 60, 60},
{ 3, "a", "b", 3, 4, 120, 80, "x", 60, 60, 60},
{ 4, "a", "b", 4, 5, 120, 80, "y", 60, 60, 60},
{ 5, "a", "b", 5, 1, 120, 80, "z", 60, 60, 60},
};
printf("好きなモンスターを3つ選んでください\n\n");
while (s < 1){
for (i = 0; i++; i<3){
printf("%d体目を選んでください。\n\n", i+1);
for(m = 0; m++; m < 4) printf("%d, %s\n", m+1, monster[m].name);
printf("5, %s\n\n", monster[4].name);
scanf("%d", a[i]);
printf("%d体目 : %s\n\n", i+1, monster[a[i]-1].name);
}
printf("これでよろしいですか?\n");
for(i = 0; i++; i<2) printf("%d体目 : %s ", i+1, monster[a[i]-1].name);
printf("3体目 : %s\n\n", monster[a[2]-1].name);
printf("1、はい 2、いいえ\n");
scanf("%d", &i);
if(i=1) return s = 1;
else return s = 0;
}
}
お礼
どうもありがとう御座います。この場合は添字ではなく要素の数を入れるのだということを失念していました。