gpt4 book ai didi

c - 为什么我会在这个 C 程序中得到这个运行时错误?请告诉我哪里出了问题

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

任务可以在这里找到:http://www.talentbuddy.co/challenge/51846c184af0110af3822c32

关于这个任务我的程序如下:

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

void tokenize_query(char *query, char *punctuation) {

int i,j,ok=1,k,t;
char x[1000];

for(i=0;i<strlen(query);i++)
{
ok=1;
for(j=0;j<strlen(punctuation);j++)
{
if(query[i]==punctuation[j] || query[i]==' ')
ok=0;
}

if(ok!=0)
{
x[k]=query[i];
k++;
}

else {

for(t=0;t<k;t++)
{
printf("%c",x[t]);
}

k=0;
printf("\n");

}

}

}

最佳答案

k 在行中未初始化

x[k]=query[i];

因此您可能会尝试写入超出为 x 分配的内存的末尾。

最简单的解决方法是在声明时初始化k

int i,j,ok=1,k=0,t;
// ^^

关于c - 为什么我会在这个 C 程序中得到这个运行时错误?请告诉我哪里出了问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19777780/

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