#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代碼中的「分段錯誤」錯誤
我真的厭倦了這個:(
對不起我的英語不好
錯誤消息是否包含行號?它指的是哪裏? –
您正在測試的字符串是什麼? –
您的平臺是否包含調試器? –