50得票3回答
函数声明:K&R与ANSI

K&R函数声明和ANSI函数声明之间有何区别?

48得票11回答
ANSI C和K&R C之间的主要区别是什么?

维基百科关于 ANSI C 的文章写道: ANSI C 标准化过程的一个目标是生成 K&R C 的超集(第一个发布的标准),吸收了许多随后引入的非官方功能。然而,标准委员会也包含了一些新特性,比如从 C++ 编程语言借鉴来的函数原型和更强大的预处理器。参数声明的语法也被改变以反...

40得票6回答
在C语言中,寄存器变量的一个好的使用示例是什么?

我正在阅读K&R的内容,看到寄存器变量(register variables)一小节,想知道这个概念在实际中有什么好的应用案例。 K&R第4.7节中写道: 寄存器声明的语法如下: register int x; register char...

12得票4回答
什么是 ungetc (或 K&R 中的 ungetch) 的用途?

能有人解释一下ungetch的作用吗?这段代码来自K&R第4章,用于创建一个逆波兰计算器。 我在不调用ungetch的情况下运行了程序,在我的测试中它仍然可以正常工作。 int getch(void) /* get a (possibly pushed back) character...

12得票10回答
计算机中的数据类型是如何表示的?

我是一名初学者,正在阅读K&R的编程书籍,但我感觉这本书假定读者已有相当的前置知识。其中一个让我困惑的方面是变量在内存中的实际表示,或者说存在。数据类型对于变量意味着什么?我不太确定如何表达这个问题...但我会提出几个问题,希望有人能为我提供一个连贯的答案。 当使用getchar()...

10得票4回答
在 ANSI C 中正确声明 main() 函数

C标准规定:程序启动时调用的函数名为main。实现不为此函数声明原型。它应当被定义为返回类型为int且没有参数:int main(void) { /* ... */ } 或者使用两个参数(在这里称为argc和argv,但可以使用任何名称,因为它们是在声明它们的函数中局部的):int main(...

10得票4回答
K&R第一章 - 练习22的解决方案,你认为怎么样?

我正在从《The C Programming Language》学习C语言作为第一门语言,我只是想问一下,您是否认为这个练习被正确解决了,我知道它可能没有完全达到您的期望,但我想听听不同的观点,这样我就能确定我正在正确地学习C语言。 谢谢。 /* Exercise 1-22. Write ...

9得票11回答
在我出生之前,C语言是什么样子的?

这里有一个问题,C语言(K&R C)最初是什么样子的?这个问题是关于C语言最初的十年或二十年的。 我知道,我听过我的大学教授说,C语言没有我们今天使用的ANSI C标准库。他们曾经用汇编写IO例程!第二件事是,K&R书籍是程序员阅读的最佳书籍之一,这就是我的教授告诉我们的 :...

8得票6回答
K&R C练习帮助

我一直在阅读K&R C编程语言书籍,我卡在了第2-6个练习上,其中写道: 编写一个函数setbits(x,p,n,y),它返回x,使从位置p开始的n位设置为y的最右边的n位,同时保留其他位不变。 我很难理解他们要我做的确切事情。我看了一个可能的答案这里,但我仍然不太明白。我觉得是措...

8得票5回答
K&R Qsort示例中指针和数组的混淆

我发现以下代码片段很难理解。我理解了函数指针的用法,但让我困惑的是其中标示的几行代码。 void qsort(void **v, int left, int right, int (*comp) (void *, void *)) { int i, last; void sw...