kr-c相关内容
我的代码段错误,我不知道为什么. 1 #include 23 无效覆盖(字符 str[],字符 x){4个整数i;5 for (i = 0; str[i] != '\0'; i++)6 str[i] = x;7 }89 int main(void) {10 字符 *s = "abcde";11 字符 x = 'X';12 次覆盖(s,x);13 printf("%s\n",
..
我正在通过K& R学习编程.到目前为止进展顺利,但是我不清楚第1.8节(函数)中的一行代码的作用. 在1.8节中,作者向您展示了如何创建一个函数以将一个整数提高为另一整数的幂. 我粘贴了下面的代码,就像书中写的一样.一切输出正常.但是我不知道为什么他们在顶部添加了这一行: int power(int m, int n); 书中没有提到它,除了说程序会将整数m乘幂n.如果我从代
..
在KR C书的第112页中,内容如下: int (*arr1)[10]; 是指向10个整数的数组的指针.我不明白上面和之间的区别: int arr2[10]; 1- arr2本身不是指向10个整数的数组的指针吗? (因为数组的名称本身就是一个指针.) 2-如果数组的名称是数组的地址和指向该数组的指针,那么arr1和arr2都是指向整数数组的指针,不是吗? 解决方案
..
在解决K& R C书中的练习时,我偶然发现了练习2.1. 起初我得到的UINT_MAX和-1一样,但是后来我使用了%u占位符,但是现在它给了我与ULONG_MAX相同的数字. 在附录B的书中,他们说UINT_MAX应该是65535,而ULONG_MAX应该是4294967295,但是在进行练习时,它同时给出了UINT_MAX和ULONG_MAX的含义4294967295. 那是为
..
我的code段错误,我不知道为什么。 1的#include<&stdio.h中GT; 2 3无效覆盖(字符海峡[],CHAR X){ 4 INT I; 5(I = 0; STR [I] ='\\ 0';!我++) 6海峡[I] = X; 7} 8 9 INT主要(无效){ 10的char * s =“ABCDE”; 11字符X ='X'; 12重写(S,X); 13的pr
..
任何人都可以向我解释ungetch的目的是什么? 这是K&安培;其中创建逆波兰计算器R第4。 我已经运行该程序,而不调用ungetch和我的测试中它仍然有效一样。 INT残培(无效)/ *得到一个(可能推后)字符* / { 如果(bufp大于0) { 返回BUF [ - bufp] } 其他
..
我教我下与K&安培; R和我通过书中的例子之一难倒。我正好编译code,因为它是用的例子,但它不会做什么作者说它将。该计划应该算个字符。考虑到code是如下: 的#include<&stdio.h中GT;在输入/ * count个字符;第一个版本* / 主要() { 长NC; NC = 0; 而(的getchar()!= EOF) ++ NC; 的
..
在字面上看,这是有道理的,但究竟是什么意思是一个变量名的显著人物? 我使用K&放C的开始学习; R。下面是从书中直接引用: “至少一个内部名称的前31个字符是显著,对于函数名和外部变量的数目可以少于31,因为外部名称可以由汇编和装载机超过该语言没有控制被使用。对于外部名称,该标准只保证6个字符和一个单一的情况下。“ 顺便说一句,这是什么的“单案”呢? 解决方案 单例通常意味着
..
C标准说: 称为在程序启动功能 被命名为主力。实施 声明没有原型,这 功能。它应与被定义 返回一个int类型,并没有 参数: INT主要(无效){/ * ... * /} 或具有两个参数(称为 这里为argc和argv,虽然任何 名称也可以使用,因为它们是本地 于它们是功能 声明): INT主(INT ARGC,CHAR *的argv []){/
..
我读通过K&安培; R,来到对寄存器变量的一小部分,并想知道如果人们在这里有这个放的一些很好的例子付诸实施。 这部分4.7 K&放大器; R: 寄存器声明看起来像 注册INT X; 注册焦炭℃; 要清楚,我只是希望能看到一些很酷的code样品。我(时pretty确保I)了解标的物,所以不要觉得需要键入了一个详细的解释(除非你想)。 解决方案 有是用现代的编译器时使
..
我通过K&放工作; R以学习编程。进展顺利,到目前为止,但我不清楚线code从1.8节(函数)的作用。 在1.8节中,作者向您展示如何创建一个函数来一个整型提升到另一个整数的力量。 我已经粘贴了以下code,因为它是写在这本书。一切都输出罚款。但我不知道为什么他们已经包括这条线在顶部: INT功率(INT男,INT N); 这本书并没有提到它,除了他说,该计划将提高整米的n次方。如果我
..
下面是从书直接引用(K&安培; R,第二版,第35页。): “至少一个内部名称的前31个字符是显著。 对函数名和外部变量的数目可以是小于 31,因为外部名称可以通过在装配和装载机使用 该语言没有控制权。对于外部名称,标准 保证只为6个字符和一个单一的情况下。“ 和C99中有在其内的名称没有长度的限制,但是仅在第63保证是显著(§5.2.4.1翻译限值)。 我的问题是,为什
..
我觉得很难理解code的片断。我理解的函数指针矫饰表现,但如果我发现混乱的指示线。 无效的qsort(无效** V,左为int,诠释权,INT(* COMP)(void *的,无效*)) { INT I,最后的; 无效掉期(INT ** V,INT I,诠释J); 如果(左> =右)/ *做什么,如果数组包含* / 返回; / *少于两个元件* /
..
// K&安培; R语法 INT美孚(A,P) int类型的; 字符* P; { 返回0; }// ANSI语法 INT美孚(INT一个,字符* P) { 返回0; } 如你所见,在K&放大器; R风格,类型的变量在新的线路,而不是在大括号声明。如何将一个K&安培; R函数声明为自动为ANSI函数声明?有谁知道这样在Linux下一个易于使用的工具? 解决方案 您可以使用
..
这是ANSI C的维基百科的文章说: 其中的ANSI C标准化进程的目的之一是生产K&放大器的一个超集; R C(第一个公布的标准),集成了许多的随后引入非官方的特点。然而,标准委员会还包括了一些新的功能,如函数原型(从C ++编程语言借用),以及更强大的preprocessor。参数声明的语法也被改变,以反映C ++风格。 这让我觉得有差异。不过,我没有看到K&放大器之间的比较; R
..
什么是K&放大器之间的差异; R函数的声明和ANSI函数声明 解决方案 K&放大器;:R语法是过时的,除非你有保持非常古老code你可以跳过它。 // K&安培; R语法 INT美孚(A,P) int类型的; 字符* P; { 返回0; }// ANSI语法 INT美孚(INT一个,字符* P) { 返回0; }
..
的运动是: 写的函数setbits(X,P,N,Y),该返回x与开始在位置p设定为y的最右边的n位的n位,而使其他位不变。 我在一个解决方案的尝试是: 的#include<&stdio.h中GT;无符号setbits(无符号整型,整型,无符号);INT主要(无效) { 的printf(“%U \\ N”,setbits(256,4,2,255)); 返回0; }无符号s
..
我已经经历的K&放大器; R C语言程序设计的书,我卡在练习2-6其内容为: 写函数setbits(X,P,N,Y)与该开始在位置p设定为y的最右边的n位的n位返回x,而使其他位不变。 我无法理解确切的事情,他们正在寻找我做的。我看着一个可能的答案 rel=\"nofollow\">,但我还是真的不理解。我认为这是的投掷我送行的措辞。任何人都可以或许解释他们在寻找什么我以不同的方式吗?
..