NK_JJ 2021-11-25 17:26 采纳率: 100%
浏览 896
已结题

无效参数传递给了将无效参数视为严重错误的函数

请问各位,这是怎么回事啊
摸不清头脑,i+j为啥是无效参数啊?

#include<iostream>
using namespace std;
int a[100];
void find(string ,string );
int main() {
    string word;
    string substr;
    cin >>word>> substr;
    find(word, substr);
}
void find(string word,string substr) {
    for (int i = 0; i < word.size(); i++) {
        for (int j = 0; j < substr.size(); j++) {
                if (word[i+j] == substr[i + j])a[i]++;
        }
        if (a[i] == substr.size())cout << i;
    }
}

img

img

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-11-25 17:28
    关注

    至少你a数组没有初始化为0 ,a[i]++是不行的
    你这个word[i+j]和substr[i + j]没有道理啊,怎么能保证word的长度能够大于i+j呢?如果小于,那你就是越界访问字符串了啊
    应该是word[i] == substr[j]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月3日
  • 已采纳回答 11月25日
  • 创建了问题 11月25日

悬赏问题

  • ¥15 PB中矩阵文本型数据的总计问题。
  • ¥15 MATLAB卫星二体模型仿真
  • ¥15 怎么让数码管亮的同时让led执行流水灯代码
  • ¥20 SAP HANA SQL Script 。如何判断字段值包含某个字符串
  • ¥85 cmd批处理参数如果含有双引号,该如何传入?
  • ¥15 fx2n系列plc的自控成型机模拟
  • ¥15 时间序列LSTM模型归回预测代码问题
  • ¥50 使用CUDA如何高效的做并行化处理,是否可以多个分段同时进行匹配计算处理?目前数据传输速度有些慢,如何提高速度,使用gdrcopy是否可行?请给出具体意见。
  • ¥15 基于STM32,电机驱动模块为L298N,四路运放电磁传感器,三轮智能小车电磁组电磁循迹(两个电机,一个万向轮),如何通过环岛的原理及完整代码
  • ¥20 机器学习或深度学习问题?困扰了我一个世纪,晚来天欲雪,能饮一杯无?