gpt4 book ai didi

c - c中char数组的段错误

转载 作者:太空宇宙 更新时间:2023-11-04 07:32:01 24 4
gpt4 key购买 nike

请告诉我为什么这段代码会出现段错误?
我想将命令拆分为标记,但我不知道为什么会出现段错误!!

char command[500]="asdadas asdasdas asdadas";   
int i,j,k;
char tokens[4][200];

for(i=0,j=0,k=0; i<strlen(command); i++)
{
if(command[i]==' ')
{
tokens[j][k]='\0';
k=0;
j++;
continue;
}

tokens[j][k]=command[i];
k++;
}
tokens[j][k]='\0';

最佳答案

command 未初始化。这意味着 strlen(command) 调用可能会超出 500 字节,从而导致段错误。

在使用之前初始化您的 command 数组。例如 memset

除此之外,没有任何边界检查和一些任意数组长度。这注定会失败。

关于c - c中char数组的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12928894/

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