问题标签 [kernighan-and-ritchie]

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 投票
6 回答
3663 浏览

c - 我应该做 K&R 中的所有练习吗?

这是我需要问的一个稍微有点主观的问题。为了成为一名熟练的 C 程序员,我觉得我应该向 k&r 学习 C。我觉得这本书有点随和,有时难以理解,但总体上随和。

我的问题是,我是否必须做所有的练习(即使是那些难倒我的练习)才能成为一名熟练的 C 程序员?或者我可以跳过大部分吗?所问问题的格式和布局......很难,充其量是不使用 C 丰富的库集可用的工具。

0 投票
8 回答
4073 浏览

c - 十六进制到十进制转换 [K&R 练习]

我正在学习 C,但我无法弄清楚其中一个 K&R 练习,清单:

练习 2-3,编写函数 htoi(s),将一串十六进制数字(包括可选的0xor 0X)转换为其等效的整数值。允许的数字是0through 9athroughfA through F

我想我需要在这里做一些递归,我只是猜想我对编号类型及其各种转换方法等不太了解。

有人能给我一些关于如何最好地理解它的指示吗,我不是在找人握着我的手,而是引导我找到一种正确理解的方法,这样我就可以尽可能以最优雅的形式写出来,而不是和printf("%x", skill);

0 投票
4 回答
2161 浏览

c - K&R Exercise 2-3 "Hex to int converter" Problem

The program I wrote works in demographics consisting of only single Hexadecimal values. (Probably not the most elegant solution, but I'm a new programmer) My question is, how would I go about handling of multiple hexadecimal digits, such as 0xAF, or 0xFF, etc? I'm not exactly sure, and I've seemed confuse myself greatly, in the attempt. I'm not asking for someone to hold my hand, but to give me a tip where I've gone wrong in this code and thoughts on how to fix it.

Thanks :)

0 投票
5 回答
1843 浏览

c - K&R:字符指针数组

在第 页。109 的 K&R,我们看到:

我对 *lineptr++ 究竟做了什么感到困惑。据我了解,printf 需要一个 char 指针,因此我们使用 *lineptr 提供它。然后我们将 lineptr 增加到数组中的下一个 char 指针?这不是违法的吗?

在第 99 页,K&R 写道:“数组名称不是变量;像 a=pa [其中 a 是数组,pa 是指向数组的指针] 和 a++ 这样的结构是非法的。”

0 投票
4 回答
1390 浏览

c - “The C Programming Language”中的这段代码是如何工作的?

我正在阅读“The C Programming Language (2nd ed.)”,在刚开始的时候,它有这样的例子:

我可以看到从文件读取时这是如何工作的,并且我理解这种语法......但这只是从控制台读取 - 当从控制台输入字符时,一个文件结尾如何发出信号?我正在使用 Windows XP...MinGW 编译器...无论如何,这本书是为具有 EOF 按钮之类的早期系统编写的吗?

更新

好吧,我还有一个问题,这与文件结尾在 Windows 下的工作方式有关。

如果我只是while(getchar()!=EOF);,那么我可以继续输入字符,直到我通过 ^Z 发出 EOF 信号。但是,我必须写一个换行符,然后按 ^Z,然后是另一个换行符……为什么它必须在自己的行上?

0 投票
7 回答
7456 浏览

c - `getchar()` 在哪里存储用户输入?

我已经开始阅读“ The C Programming Language ”(K&R)并且我对这个函数有疑问getchar()

例如这段代码:

键入toomanychars++ (EOF) 仅CTRL打印. 我认为这是意料之中的,因为它是第一个引入的角色。Dt

但是接下来的另一段代码:

键入toomanychars+ CTRL+ D(EOF) 打印toomanychars

我的问题是,如果我只有一个 char 变量,为什么会发生这种情况?其余字符存储在哪里?

编辑:

感谢大家的回答,我现在开始明白了......只有一个问题:

第一个程序在给定CTRL+时退出,D而第二个程序打印整个字符串,然后等待更多用户输入。为什么它等待另一个字符串并且不像第一个那样退出?

0 投票
5 回答
55358 浏览

c - 如何模拟 EOF?

我目前正在阅读 K&R 的书并输入第一部分的示例,其中有几个示例如下:

我正在 Windows 机器上测试这些示例,从而从cmd提示符运行编译的 exe 文件。

为了测试上面的例子,我如何模拟一个EOF?也就是说,基本上如何在命令提示符下测试示例时使循环停止?

0 投票
3 回答
620 浏览

c - 做 K&R 的初学者

我刚刚开始编程并通过 K&R 尝试学习 C。我已经进入了关于命令行参数的部分(5.10),但现在我被难住了。每次我尝试打开一个我用命令行参数编写的程序时,我都会被告知文件 X,X 是参数,不存在。

`gcc -o 查找 find.c

打开查找测试

文件 /Documents/Learning_C/test 不存在。`

有什么建议么?谢谢

0 投票
5 回答
16471 浏览

c - 函数声明与原型的替代 (K&R) C 语法

这种语法有什么用C——使用“K&R”风格的函数声明?

我能够在 Visual Studios 2010beta 中写这个

我不明白。这种语法有什么意义?我可以写:

它似乎唯一指定的是它使用了多少参数和返回类型。我想没有类型的参数有点酷,但为什么允许它和int paranName函数声明符之后呢?有点奇怪。

这仍然是标准C吗?

0 投票
2 回答
188 浏览

c - 帮助 K&Rs 计数字符示例

我正在阅读 K&R 的第 2 版,我被这个看似简单的例子难住了:

它根本无法正常工作。我在(getchar() != '\n')按 Enter 键时添加了结束程序的部分,但这也无济于事

这是一些示例输出,使用的gcc是 Mac OSX 10.6 开发工具附带的。

所以很明显有些不对劲。我在第 18 页,如果有帮助的话。这不是作业,这是为了好玩!

谢谢 :)