问题标签 [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.

0 投票
2 回答
722 浏览

c - C - 程序在没有扫描的情况下终止?

不太确定这里发生了什么,无论我只是一个傻瓜还是编译器有点奇怪。

下面的代码应该,在调用我的 searchList 函数后,从用户那里获取输入,但是程序只是终止,甚至没有段错误,它实际上只是结束了。有什么傻事?

编辑:searchNode 是 searchList,抱歉错字。

干杯。

0 投票
2 回答
55 浏览

c - 几个 getchar 调用

我有一个 VS 10 控制台应用程序,它必须接受两个字符输入并根据它们的值进行一些处理。我编写了以下代码:

运行它:

这个执行后is的值和c1is的'y'值 怎么解决呢?c2'\n'

0 投票
4 回答
2102 浏览

c - 在 while 循环中 printf() 的奇怪行为

有人可以解释一下为什么我在 while 循环中看到 printf() 函数的双重输入:

Debian Squeeze(gcc 版本 4.4.5 (Debian 4.4.5-8))中的代码输出为:

0 投票
7 回答
396 浏览

c - C:使用指针作为字符串:不可预测的行为

我正在编写一个 C 程序来查找用户输入中最长的行并打印行的长度和行本身。它成功地计算了字符数,但意外地无法存储行本身。也许我误解了 C 的内存管理,有人可以纠正我。

编辑:后续问题:我现在明白,dummy字符后面的块是未分配的,因此计算机可以对它们做任何事情,但是为什么一些字符的存储仍然有效?在我提到的第二个示例中,程序将字符存储在“未分配”块中,即使它“不应该”。为什么?

变量:

  • getchar()c每次我都存储在getchar()
  • igetchar()是我从的当前行的长度(到目前为止)
  • longest_i是迄今为止最长的线的长度
  • twostr指向两个字符串中第一个字符串的开头:第一个表示当前行,第二个表示迄今为止最长的行。当发现一行最长时,将其复制到第二个字符串中。如果未来的行更长,它会覆盖第二个字符串的一些内容,但这没关系,因为我不再使用它了——第二个字符串现在将从更右侧的位置开始。
  • dummy给出twostr一个指向的地方

这就是我如何可视化程序变量使用的内存:

真实的陈述:

程序:

*(twostr+longest_i+1))直到'\0'是不可预测的。例子:

输入:

输出:

输入:

输出:

0 投票
5 回答
31777 浏览

c++ - getchar() 效果不好?

我用 C++ 写了这段代码,我曾经getchar()在控制台上运行过,但我没有看到使用该函数有任何效果,代码如下:

0 投票
1 回答
105 浏览

c - 处理 C 中的输入

真的是一个简短的问题,正在寻找,想知道并询问有关处理此类输入的最佳方法的任何提示:

因此,每行上的单词数是完全随机的,并且每个单独的单词都可以添加到某些数据结构中,例如链表或树。

fgets每一行并解析?获取字符()?有什么线索吗?

0 投票
5 回答
1882 浏览

c - 请解释这个示例 C 代码

此代码来自 K&R。我已经读了好几遍了,但它似乎仍然逃脱了我的掌握。

正如 K&R 所说,这两个函数的目的是防止程序读取过多的输入。即,如果没有此代码,函数可能无法确定它已读取足够的数据,而无需先读取太多数据。但我不明白它是如何工作的。

例如,考虑 getch()。据我所知,这是它所采取的步骤:

  1. 检查 bufp 是否大于 0。
  2. 如果是,则返回 buf[--bufp] 的 char 值。
  3. 否则返回 getchar()。

我想问一个更具体的问题,但我真的不知道这段代码是如何实现它打算实现的,所以我的问题是:(a)目的和(b)这段代码的推理是什么?

提前致谢。

注意:对于任何 K&R 粉丝,可以在第 79 页找到此代码(我想取决于您的版本)

0 投票
2 回答
31883 浏览

c - 错误:标签只能是语句的一部分

我正在用 C 语言编写一个笨拙的解释器,并且在使用我不习惯的东西时遇到了一些麻烦。在 Brainfuck 中,逗号 (,) 本质上是 getchar()。所以我有以下代码:

error: a label can only be part of a statement and a declaration is not a statement当我尝试编译它时,gcc 向我抛出。

有任何想法吗?(对不起,对这个错误不太熟悉)

0 投票
3 回答
667 浏览

c - C 编程:名字编曲!编码新手?

在这里完成新手。在我的编程课介绍的第二天,所以要温柔。顺便说一句,我们正在用 C 编程。

我们的任务是提示用户给我们一个格式的名字:John Smith,然后像这样打印出来给他们;史密斯,J.

更令人头疼的是,无论有多少空格,程序仍然必须执行。即 John /n Smith、John /t smith 和 John /0 Smith..

这是我到目前为止所拥有的,

我的问题:当它从同一个缓冲区读取两个名字时,我不知道如何打印姓氏..

有人可以向我解释我将如何执行我的 lname 功能吗???此外,没有数组列表和字符串方法。

0 投票
5 回答
54648 浏览

c - 从控制台读取字符

我编写控制台应用程序,它为 int 执行几个 scanf 并在它之后执行 getchar :

结果我得到c = '\n'了,尽管输入是:

如何解决这个问题?