前提・実現したいこと
aizu online judgeで
https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/8/ITP1_8_D
を解きたいです。
発生している問題・エラーメッセージ
インプットが五文字くらいだと大丈夫なのですが、
aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjj (百文字)
x
をインプットするとバッファオーバーフローが起きてしまいます。
該当のソースコード
c
1#include <stdio.h> 2#include <string.h> 3 4int main() { 5 char a[1000], b[1000], c; 6 scanf("%s%c%s", a, &c, b); 7 strcat(a, a); 8 if (strstr(a, b) == NULL) printf("No\n"); 9 else printf("Yes\n"); 10 return 0; 11}
試したこと
最初は配列の要素数を101にしていて、strcatで二倍になるのが原因かなと思って要素数を1000にふやしたのですがだめなのでstrcatやstrstrで問題が起きているのかなとも思うのですがわかりません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー