#include<string.h>
#include<stdio.h>
int firstState(char s[], int length);
int secondState(char s[], int length);
int thirdState(char s[], int length);
int forthState(char s[], int length);
int main()
{
char string[10];
gets(string);
if( firstState(string, 0) )
printf("Accept\n");
else
printf( "Not accept\n" );
return 0;
}
int firstState(char s[], int length)
{
if(s[length] == 'a')
return (secondState(s, length++));
else if(s[length] == 'b')
return firstState(s, length++);
else
return 0;
}
int secondState(char s[], int length)
{
if(s[length] == 'a')
return secondState(s, length++);
else if(s[length] == 'b')
return thirdState(s, length++);
else
return 0;
}
int thirdState(char s[], int length)
{
if(s[length] == 'a')
return secondState(s, length++);
else if(s[length] == 'b')
return forthState(s, length++);
else
return 0;
}
int forthState(char s[], int length)
{
if(s[length] == 'a')
return secondState(s, length++);
else if(s[length] == 'b')
return firstState(s, length++);
else
return 0;
}
それは私にセグメンテーション違反またはコアダンプを与えました私は混乱しています!!! 誰かがなぜこの種のバグを私に与えたのか説明できますか???? 私のコードを非常に明確に実行するためにデバッグする方法を教えてください!!
私はこれで本当に疲れました:(
私の悪い英語でごめんなさい