最近Objective Cの学習を始めたばかりですが、次のプログラムを実行すると、「プログラムがシグナルを受信しました: "EXC_BAD_ACCESS"」というエラーが表示されます。
if([*userChoice isEqualToString:@"yes"])
完全なコードは次のとおりです。
void initGame (void);
void restartGame(void);
void toGoOn(char *playerChoice);
int guess=-1;
int from=-1;
int to=-1;
bool playStatus=true;
bool gameStatus=true;
int answer=-1;
NSString *userChoice[10];
//if true the game is on
int main (int argc, const char * argv[])
{
@autoreleasepool {
GuessManager *game=GUESS;
NSLog(@"Hello, lets play");
NSLog(@"Please provide a positive range in which you would like to play");
do{
initGame();
[game setnumberToGuess:from :to];
do {
printf("Make you guess:");
scanf("%d", &guess);
[game setUserGuess:guess];
[game checkUserGuess];
if([game getDidIgetIt])
{
playStatus=false;
}
else
{
playStatus=true;
}
} while (playStatus);
restartGame();
}while(gameStatus);
printf("Thanks For Playing PanGogi Games! GoodBye");
}
return 0;
}
void initGame (void)
{
printf("from:");
scanf("%d",&from);
printf("to:");
scanf("%d",&to);
}
void restartGame(void)
{
printf("Would you like to continue?(yes/no)");
scanf("%s",&userChoice);
//scanf("%d",&answer);
// if(answer==1)
if([*userChoice isEqualToString:@"yes"])
{
gameStatus=true;
}
else
{
gameStatus=false;
}
}
それが NSString 変数 userChoice に関連していることと、if でどのように使用されているかは理解していますが、何が間違っているのかわかりません。
助けてください :)