求解!pta上显示”运行时错误“找不出错哪

本题要求编写程序,从给定字符串中查找某指定的字符。

输入格式:
输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。

输出格式:
如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。

我的代码
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,z=0;
char x,a[80];
scanf("%c",&x);
getchar();
gets(a);
j=strlen(a);
for(i=j;i>=0;i--)
{
if(a[i]==x)
{
printf("index = %d",i);
z++;
break;
}
}
if(z==0)printf("Not Found");
return 0;
}

用的啥编译器?gets(a)这个函数在ISO/IEC 9899 2011(C11)标准中被移除
C++一般不行,c可以
可以用fgets()
具体可以看https://blog.csdn.net/daijie_whu/article/details/81565004

试试这个

#include<stdio.h>
#include<string.h>
int main()
{
    int i,j,z=0;
    char x,a[80];
    scanf("%c",&x);
    getchar();
    gets(a);
    j=strlen(a);
    for(i=j - 1; i>=0; i--)
    {
        if(a[i]==x)
        {
            printf("index = %d",i);
            z=1;
            break;
        }
    }
    if(z==0)printf("Not Found");
    return 0;
}