gpt4 book ai didi

c - 从字符串中删除元音,Stack smashing 错误

转载 作者:太空宇宙 更新时间:2023-11-04 06:19:20 26 4
gpt4 key购买 nike

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

int main() {
char str[] = "my name is khan. and i am not a terrorist\n";
char arr[80];
char wolf[] = { 'a', 'e', 'i', 'o', 'u', '\0' };
int i, j, k, len;

len = strlen(str);
for (i = 0, j = 0; i < len; i++) {
for (k = 0; k <= 4; k++) {
if (wolf[k] != str[i]) {
arr[j] = str[i];
j++;
}
}
}
return 0;
}

在这里,我必须从字符串 str 中删除元音。我将生成的字符串存储在 arr 中。但是每当我执行它时都会出现堆栈粉碎错误。为什么?

最佳答案

char m被处理后会发生什么?

你会写5次到arr。一般来说,所有字符都会被写入 4 或 5 次。

不要在内部循环中写入 arr。而是使用标志来记住您是否匹配。循环后测试flag,看是否要写入char。

关于c - 从字符串中删除元音,Stack smashing 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38694073/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com