gpt4 book ai didi

c - 与 malloc 数组比较时 strcmp 崩溃

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

strcmp导致程序崩溃,这是为什么呢?删除 strcmp 时效果很好,并且使用 strcpy 也会使其崩溃

size_t maxLineLen=1024;
char *line = (char*)malloc(maxLineLen);
while(getline(&line, &maxLineLen,stdin)!= -1){
int h =strlen(line);
for (int i = 0; i < h; i++){
if(strcmp(line[0], "a") == 0) {
printf("a found %c \n ",line[i]);
break;
}

}

}
return 0;
}

最佳答案

strcmp 函数需要一个 char * 作为第一个参数,但您传递的是一个 char。与 strcpy 类似。这导致了未定义的行为。

您的编译器应该就此给您警告。

如果您要做的是查看字符串中的给定字符是否为 a,您可以这样做:

if (line[i] == 'a')

关于c - 与 malloc 数组比较时 strcmp 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35604226/

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