问题标签 [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 - 程序在没有扫描的情况下终止?
不太确定这里发生了什么,无论我只是一个傻瓜还是编译器有点奇怪。
下面的代码应该,在调用我的 searchList 函数后,从用户那里获取输入,但是程序只是终止,甚至没有段错误,它实际上只是结束了。有什么傻事?
编辑:searchNode 是 searchList,抱歉错字。
干杯。
c - 几个 getchar 调用
我有一个 VS 10 控制台应用程序,它必须接受两个字符输入并根据它们的值进行一些处理。我编写了以下代码:
运行它:
这个执行后is的值和c1
is的'y'
值
怎么解决呢?c2
'\n'
c - 在 while 循环中 printf() 的奇怪行为
有人可以解释一下为什么我在 while 循环中看到 printf() 函数的双重输入:
Debian Squeeze(gcc 版本 4.4.5 (Debian 4.4.5-8))中的代码输出为:
c - C:使用指针作为字符串:不可预测的行为
我正在编写一个 C 程序来查找用户输入中最长的行并打印行的长度和行本身。它成功地计算了字符数,但意外地无法存储行本身。也许我误解了 C 的内存管理,有人可以纠正我。
编辑:后续问题:我现在明白,dummy
字符后面的块是未分配的,因此计算机可以对它们做任何事情,但是为什么一些字符的存储仍然有效?在我提到的第二个示例中,程序将字符存储在“未分配”块中,即使它“不应该”。为什么?
变量:
getchar()
c
每次我都存储在getchar()
i
getchar()
是我从的当前行的长度(到目前为止)longest_i
是迄今为止最长的线的长度twostr
指向两个字符串中第一个字符串的开头:第一个表示当前行,第二个表示迄今为止最长的行。当发现一行最长时,将其复制到第二个字符串中。如果未来的行更长,它会覆盖第二个字符串的一些内容,但这没关系,因为我不再使用它了——第二个字符串现在将从更右侧的位置开始。dummy
给出twostr
一个指向的地方
这就是我如何可视化程序变量使用的内存:
真实的陈述:
程序:
从*(twostr+longest_i+1))
直到'\0'
是不可预测的。例子:
输入:
输出:
输入:
输出:
c++ - getchar() 效果不好?
我用 C++ 写了这段代码,我曾经getchar()
在控制台上运行过,但我没有看到使用该函数有任何效果,代码如下:
c - 处理 C 中的输入
真的是一个简短的问题,正在寻找,想知道并询问有关处理此类输入的最佳方法的任何提示:
因此,每行上的单词数是完全随机的,并且每个单独的单词都可以添加到某些数据结构中,例如链表或树。
fgets每一行并解析?获取字符()?有什么线索吗?
c - 请解释这个示例 C 代码
此代码来自 K&R。我已经读了好几遍了,但它似乎仍然逃脱了我的掌握。
正如 K&R 所说,这两个函数的目的是防止程序读取过多的输入。即,如果没有此代码,函数可能无法确定它已读取足够的数据,而无需先读取太多数据。但我不明白它是如何工作的。
例如,考虑 getch()。据我所知,这是它所采取的步骤:
- 检查 bufp 是否大于 0。
- 如果是,则返回 buf[--bufp] 的 char 值。
- 否则返回 getchar()。
我想问一个更具体的问题,但我真的不知道这段代码是如何实现它打算实现的,所以我的问题是:(a)目的和(b)这段代码的推理是什么?
提前致谢。
注意:对于任何 K&R 粉丝,可以在第 79 页找到此代码(我想取决于您的版本)
c - 错误:标签只能是语句的一部分
我正在用 C 语言编写一个笨拙的解释器,并且在使用我不习惯的东西时遇到了一些麻烦。在 Brainfuck 中,逗号 (,) 本质上是 getchar()。所以我有以下代码:
error: a label can only be part of a statement and a declaration is not a statement
当我尝试编译它时,gcc 向我抛出。
有任何想法吗?(对不起,对这个错误不太熟悉)
c - C 编程:名字编曲!编码新手?
在这里完成新手。在我的编程课介绍的第二天,所以要温柔。顺便说一句,我们正在用 C 编程。
我们的任务是提示用户给我们一个格式的名字:John Smith,然后像这样打印出来给他们;史密斯,J.
更令人头疼的是,无论有多少空格,程序仍然必须执行。即 John /n Smith、John /t smith 和 John /0 Smith..
这是我到目前为止所拥有的,
我的问题:当它从同一个缓冲区读取两个名字时,我不知道如何打印姓氏..
有人可以向我解释我将如何执行我的 lname 功能吗???此外,没有数组列表和字符串方法。
c - 从控制台读取字符
我编写控制台应用程序,它为 int 执行几个 scanf 并在它之后执行 getchar :
结果我得到c = '\n'
了,尽管输入是:
如何解决这个问题?