

我的代码出现问题,本题希望可以得到大家的指导,谢谢你的帮助!
供参考:
#include <stdio.h>
#include <string.h>
int main()
{
char str[21][101];
int i, j, N, flg = 0, blk;
scanf("%d",&N);
getchar();
for(i = 0;i < N; i++)
gets(str[i]);
for(i = 0;i < N; i++)
{
for(j = 0, flg = 0; str[i][j]; j++)
{
if(str[i][j] == ',' || str[i][j] == '.'){
if(str[i][j-1] == 'g' && str[i][j-2] == 'n' && str[i][j-3] == 'o')
flg++;
}
if (flg == 2){
for (blk = 0, j; blk < 3; j--)
if (str[i][j] == ' ') blk++;
str[i][++j] = '\0';
strcat(str[i], " qiao ben zhong.");
break;
}
}
if(flg == 2)
printf("%s",str[i]);
else
printf("Skipped");
if (i < N - 1) printf("\n");
}
return 0;
}