gpt4 book ai didi

c - 检查 if (char == '\n' ) 时出现段错误

转载 作者:行者123 更新时间:2023-11-30 18:18:06 26 4
gpt4 key购买 nike

我已经为此苦苦挣扎了一个多小时,但我似乎无法找出为什么会出现此错误。

int  inp, count;
char numBuff[21];

count = 0;
while((inp=getchar()) != EOF) { // get Value (last field)
printf("input is '%c'\n", inp);
if (inp == '\n') break;
if (inp == ' ') {
continue;
}
numBuff[count++] = inp;
printf("go back through loop\n");
}
printf("Out!");
numBuff[count] = '\0';

如果我输入 1013 我会得到以下内容

input is '1'
go back through loop
input is '0'
go back through loop
input is '1'
go back through loop
input is '3'
go back through loop
input is '
'
Segmentation fault (core dumped)

我能从中收集到的唯一信息是,当我检查 inp == '\n' 时它失败了,但为什么呢?我将循环 printf 的返回移动到检查 if inp == '\n' 之后,但它也从未到达那个位置,所以我知道它正在那里发生。

最佳答案

count 未初始化,用作数组索引。初始化为0。

关于c - 检查 if (char == '\n' ) 时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16114617/

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