为啥会运行时错误,搞不懂

img

img

img


应该不是字符数组和整型数组的问题,我试了开大点还是错的,password数组开到200还是错的,不知道哪里出错了

参考示例代码如下,望采纳

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_LEN 1000000  // 定义字符串长度的最大值

int main()
{
    char a[MAX_LEN + 1], b[MAX_LEN + 1];  // 定义两个字符串数组
    int visited[127] = {0};  // 定义一个标记数组,用来标记 A 中的字符是否出现过

    // 读入 A 和 B 两个字符串
    fgets(a, MAX_LEN + 1, stdin);
    fgets(b, MAX_LEN + 1, stdin);

    // 遍历 A 中的每一个字符
    for (int i = 0; a[i] != '\0'; i++) {
        // 如果这个字符在 A 中出现过,则跳过
        if (visited[a[i]]) continue;

        // 否则,将这个字符标记为已出现
        visited[a[i]] = 1;

        // 并将这个字符输出
        printf("%c", a[i]);
    }

    // 遍历 B 中的每一个字符
    for (int i = 0; b[i] != '\0'; i++) {
        // 如果这个字符在 A 中出现过,则跳过
        if (visited[b[i]]) continue;

        // 否则,将这个字符标记为已出现
        visited[b[i]] = 1;

        // 并将这个字符输出
        printf("%c", b[i]);
    }

    return 0;
}

请把代码放到 ‘代码块’ 里面。
A 和 B 的和,你怎么计算的?

不超过10的6次方,那么你这str1和str2要申请100000字节。str要申请200000字节长度。password直接256长度好了