実現したいこと
力まかせ法による文字列検索を行いたいです。
前提
実行結果がsegmentation faultというエラーが発生します。
発生している問題・エラーメッセージ
segmentation fault
該当のソースコード
#include <stdio.h>
#include <string.h>
#include <limits.h>
char *km_match(char *pat, char *txt)
{
char *pt; char *pp;
int skip[1024];
skip[*pt]=0;
while(pat[*pt] != '\n'){
if(pat[*pt]==pat[*pp])
skip[++*pt] = ++*pp;
else if(*pp==0)
skip[++*pt]=*pp;
else *pp=skip[*pp];
}
*pt=*pp=0;
while(txt[*pt] != '\n' && pat[*pp] != '\n'){
if(txt[*pt]==pat[*pp]){
*pt++;
*pp++;
}else if(*pp==0)
*pt++;
else
*pp=skip[*pp];
}
if(pat[*pp]=='\n')
return(txt +*pt-*pp);
return(NULL);
}
### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2023/04/29 00:48