gpt4 book ai didi

c - 初始化变量导致 printf 停止工作

转载 作者:行者123 更新时间:2023-11-30 19:54:43 25 4
gpt4 key购买 nike

int get_max_horizantal()
{
char str[2];
char strb[2]; //Everything works well unless I put this
extern char shit[1200];
int x,number;
while((3*x+1)<1200)
{
if(number%17==0 && number!=0)
{
x+=2;
number=-1;
}
str[0]=shit[3*x];
str[1]=shit[3*x+1];
int val1=atoi(str);
printf("%d\n",val1);
x++;
number++;
}
}

好吧,这是我根本不明白的事情...整个功能运行良好,但是当我把这个字符strb[2];printf 不打印任何内容,也没有编译错误或警告...这次我真的需要帮助......提前致谢。

最佳答案

如果要在 char 数组上使用 atoi,则必须在末尾放置一个空终止符。将东西添加到堆栈中改变行为通常意味着您已经耗尽了一些内存。将 str 变大并在末尾添加 null:

char str[3];
str[2] = 0;

关于c - 初始化变量导致 printf 停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17525741/

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