#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;
}
它给了我一个分段错误或核心转储我很困惑! 有人可以解释为什么它给了我这种类型的错误? 并告诉如何调试以使我的代码运行得非常清晰!我的C代码中的“分段错误”错误
我真的厌倦了这个:(
对不起我的英语不好
错误消息是否包含行号?它指的是哪里? –
您正在测试的字符串是什么? –
您的平台是否包含调试器? –