问题标签 [getchar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - C getchar() 和 putchar()
通过 K&R,我试图了解 C。我想编写一个程序,在屏幕上打印用户的前一行,除非字符是“a”。
是的,程序不多。但它不会按预期工作。我是否需要使用字符“a”的 ASCII 值,因为上面的代码只打印所有字母,无论是否为 a。
c - getchar() 从前一个 printf() 中取出最后一个字符?
我正在为深奥的语言 Brainf*ck 编写编译器/解释器(我不太确定 StackOverflow 的亵渎政策,所以我会审查自己,直到有人告诉我我不必这样做),我正在运行进入一个非常神秘的(至少对我而言)错误,其中我的调试输出中的最后一个字符被接受为正在运行的brainf*ck 程序的输入。以下是解释器的源代码:brainf*ck.c,程序的源代码:OR.bf,以及通过 Brainf*ck 可执行文件运行 OR.bf 的输出的部分打印。(对于凌乱的代码,我提前致歉。我在不到一天的时间内将解释器写成了一个有趣的项目。)提前感谢您的帮助!
Brainf * ck.c:
OR.bf:
输出:
上面的输出格式如下: eval: <*instruction ptr> <*data ptr>
(所以似乎是在破坏上面的行,所以只需参考 Brainf*ck.c 中 eval() 的开头。
如您所见,输出的倒数第二行和最后一行表明 getchar() 是(出于某种原因)从倒数第二行的末尾获取换行符,而不是等待用户输入(就像它在 line 1)。
我对为什么在我的程序中出现这个错误而不是如何修复它更感兴趣,因为它让我认为我没有像我想象的那样对 C 中的输入流有很好的处理,但建议修复(当然)是受欢迎的。
c - int c = getchar()?
好的,我正在阅读这本书:The C Programming Language - Kernighan 和 Ritchie(第二版),其中一个示例我无法理解事物的工作原理。
该行:for(i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i)
它说c = getchar(),如何从命令行输入整数=字符?整数是的,但是我输入的字符是如何存储的?
提前致谢
c - 关于 getchar() 用法的简单问题?
在这个非常棒的网站中搜索有关 getchar() 函数的所有内容时,我发现了这篇文章:为什么 getchar() 不等我在 scanf() 之后按 Enter 键?
我了解整个程序,并且我了解每次调用它时,getchar 都会从文本流中读取下一个输入字符并将其作为其值返回。也就是说,之后
变量 c 包含输入的下一个字符。字符通常来自键盘。
但问题来了:为什么程序员在程序结束时调用 getchar()?
c - 对“while(getchar() != '\n')”感到困惑
我知道getchar(
) 只是一个函数获取用户输入的行的第一个字符,然后是下一个字符,依此类推如果我们输入getchar()
了一行,在代码完成时,它是为了让程序等待用户输入任何并且在显示信息时不关闭控制台。
为什么我们使用这行代码?
而(getchar()!='\n');
我知道它会读取该行的所有字符,直到找到行尾然后循环中断..对.? 但是,为什么这很有用?如果我们不写这行代码怎么办?
c - Linux 中的 getch() 和 getche() 等价物是什么?
我无法在 Linux 中找到 conio.h 的等效头文件。
Linux中是否有getch()
&功能的选项?getche()
我想制作一个开关盒基本菜单,用户只需按一个键就可以提供他的选项,并且应该向前移动进程。我不想让用户在按下他的选择后按下 ENTER。
c - Ctrl-C 被 getchar() 吃掉
很长时间以来,我一直在寻找解决问题的方法,这就是我求助于您的原因:
考虑这段代码:
预期行为:当用户输入 q 然后进入时程序退出。如果CTRL+C被按下,它会被 sigHandler 函数捕获,该函数将标志“done”设置为 1 并退出程序。
观察到的行为:CTRL+C字符被 getchar() 调用吃掉了,sigHandler 函数永远不会执行。当CTRL+C然后按 enter 时,调用 sigHandler 函数并退出程序。
有更多经验和知识的人可以帮助我吗?
感谢您的输入 :)
c - 而(getchar()!=多个参数)
如何使用 getchar 作为 while 循环的条件,并在 (c=getchar()) = EOF 或 '\n' 或 '\0' 时终止。
我试过了:
哪个不起作用,如果我输入:天气(+输入)。它没有终止循环。
我怎样才能使这项工作?
启发我
c - C 用户输入验证 - 只需要一个转换为 int 的字符
我在 C 中接受用户输入时遇到问题。我只想取第一个数字。我从字符中过滤用户输入,但是当我输入 2 位数字(错误的用户输入)时,程序开始表现得很奇怪
它显示:
谁能帮我解决什么问题?
c - 处理这种输入的方法?
我正在尝试确定一种输入数据时的方式,如下所示:
每次输入名称和整数并检测到换行符时,都会使用该名称和整数完成操作,然后一次又一次,直到“。” 被检测到。
例如,我尝试过getchar()
循环和 IF 语句来检测'\n'
,但似乎都不起作用。有任何想法吗?