gpt4 book ai didi

c - LLDB 错误,我该怎么办?

转载 作者:行者123 更新时间:2023-11-30 19:15:45 24 4
gpt4 key购买 nike

使用 xcode 5.1.1,它在“printf("digite o %i horário :",i+1);”行上显示消息 Thread 1:EXC_BAD_ACESS(code=1,adress=0x7ffae2c04c48);

有人对此有任何想法吗?我尝试停用 lldb,但没有成功。

#include <stdio.h>

int main (){

struct hora {
int h;
int m;
int s;
};

int i, a;

struct hora lista[i];

for (i = 0; i<5; ++i) {
printf("digite o %i horário :",i+1);
scanf("%i:%i:%i",&lista[i].h,&lista[i].m,&lista[i].s);
}
for (a=0; a<5; ++a){
printf("o horário %i é %i:%i:%i", a+1,lista[a].h,lista[a].m,lista[a].s);
}
return 0;
}

最佳答案

您的代码显示undefined behaviour .,如声明中所示

 struct hora lista[i];

您正在使用未初始化的i

详细来说,i 是一个自动存储类型的局部作用域变量,它不会隐式初始化。除非显式初始化,否则i 的内容是不确定的。因此,使用该值就是 UB。

您可能想将其更改为

 struct hora lista[5];

使其正确。

也就是说,请注意,在 C 标准中不建议使用 int main(),请使用 int main(int argc, char * argv[]) 或 at至少,int main(void)

关于c - LLDB 错误,我该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31923457/

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