问题遇到的现象和发生背景
(命令行参数)写一个程序,其命令行包括一个字符参数s,运行中由标准输入读入一系列正文,该程序把所有行依次输出,并在那些包含字符串s的行前面标一个星号。
提示:可使用系统函数 strstr(str*, substr*),它判断一个字符串substr是否为另一个字符串str的子串。
用代码块功能插入代码,请勿粘贴截图
#include<stdio.h>
#include<string.h>
int main()
{
char s;
int i = 0;
char a[100][100];
scanf_s("%c",&s);
while (scanf_s("%s",a[i]) != EOF)
{
i++;
}
int len[100], count = 0;
for (int j = 0; j < i; j++)
{
len[j] = strlen(a[j]);
}
for (int j = 0; j < i; j++)
{
count = 0;
for (int k = 0; k < len[j]; k++)
{
if (a[j][k] == s)
{count++;
}
}
if (count > 0)
{
for (int o = 0; o < len[j]; o++)
{
a[j][o + 1] = a[j][o];
a[j][len[j] + 1] = "\0";
a[j][0] = "*";
}
}
}
for (int j = 0; j < i; j++)
{
puts(a[j]);
}
}
运行结果及报错内容
我的解答思路和尝试过的方法
我觉得写的没有问题,为什么会报错呢