gpt4 book ai didi

c - 在 c 中使用 getchar() 获取段错误(核心转储)

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

我正在编写一个程序,它要求我输入一系列字符,这些字符被加载到一个字符数组中以备后用。我尝试开始工作的代码如下所示:

char temp = getchar();
while(temp != '\n'){//input char into temp until '\n'
input[strlen(input)] = temp;//adds temp to end of input
temp = getchar();
}

但是当我到达程序中的这一行时,我得到“Segmentation fault (core dumped)”并崩溃。当我用另一个字符替换\n 时,例如 %

char temp = getchar();
while(temp != '%'){//input char into temp until '\n'
input[strlen(input)] = temp;//adds temp to end of input
temp = getchar();
}

然后它工作正常,但我想使用换行符而不是 %。我看过几个教程,他们说这是在按下回车键之前的输入方式,所以我不确定问题出在哪里。提前致谢。

最佳答案

你可以使用这个:

while ( (temp=getchar()) != EOF && temp != '\n' )

关于c - 在 c 中使用 getchar() 获取段错误(核心转储),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9137169/

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