kernighan-and-ritchie

    0热度

    3回答

    我不完全与此练习(哇靠通过1-24,1-20后...)挣扎,但我不知道是否有什么毛病我的解决方案。锻炼要求你写一个循环等同于以下: for (i=0; i<lim-1 && (c=getchar()) != '\n' && c!= EOF; ++i) s[i] = c; 无需使用||或者& &。我选择不使用不介绍给我任何已有的语言功能,并且我正在认真的想法,每次锻炼放在那里是因为其目

    0热度

    2回答

    在C编程语言通过KNR - 第2版,第6.5节,他们已经定义了一个函数strdup这样的:由此 char *strdup(char *s) { char *p; p = (char *) malloc(strlen(s) + 1) /* +1 for the '\0' */ if (p != NULL) strcpy(p, s); return

    2热度

    2回答

    我正在学习用“C程序设计语言” C给K & R.我解决了锻炼2-7,其中说: 写一个函数invert(x,p,n),与n比特开始返回x在位置p反转(即,1变为0,反之亦然),其余位保持不变。 这里是我的代码(这里我自愿采用字符): #include <stdio.h> #define NUMBER 235 #define POSITION 2 #define AMOUNT 4 unsi

    3热度

    1回答

    我正在学习K & R书。我目前在第4章。我正在阅读第71页上的atof()函数。函数atof(s)将字符串转换为其双精度浮点等价。 ATOF的代码()是如下: // ATOF:转换字符串s翻番 double atof2(char s[]) { double val, power; int i, sign; for (i = 0; isspace(s[i]); ++

    2热度

    1回答

    我正在关注KnR。这是练习2-8。它说创建一个函数来将数字向右旋转一些位数。 我想出了“似乎”做的工作,并在两行的答案。但是,我正在网上检查其他方法。 This SO answer讨论关于逐一移动每一位。如果我批量转换(如下面的代码),有什么不对?有什么我失踪? #include <stdio.h> /* Rotate number 'num' to the right by 'rbits'

    0热度

    1回答

    我工作到K & R的第一章,来到你应该在哪里创建字长的柱状图一些输入练习。我开始尝试使用while循环来创建一个只有最长单词的数组,但输入的单词超过六个字符会导致程序冻结。我对解决问题的兴趣不大,但我知道原因。 #include <stdio.h> main() { int c, i, l, max; int length[max]; l = max = 0; while

    1热度

    2回答

    我正经历以K & R中的例子,偶然发现了这段代码: celcius=5 * (fahr-32)/9; 撰文人说,我们不能用5/9,因为整数除法截断会导致的价值0. 但是,程序在fahr = 0时输出17作为答案。通过我的计算,(0-32)/ 9应该导致-3(由于截断),然后-3 * 5 = -15,而不是-17。为什么会发生?

    0热度

    1回答

    这个练习让我发疯。对不起,如果我的编程问题看起来很小,但我是初学者,所以请耐心等待。 练习请求以下内容: 编写程序以删除每行输入中的尾随空白和制表符,并删除完全空白的行。 有人可以告诉我为什么我的代码不起作用吗?我还没有解决完全空白行的问题,但我找不到任何理由说明为什么我的代码不会删除尾随空白和制表符。那就是: #include <stdio.h> #define MAXLINE 1000

    2热度

    2回答

    我对编程颇为陌生,所以请耐心等待。 下面是练习1-18的提示:编写一个程序,以删除每行输入中的尾随空白和制表符,并删除完全空白的行。 这里是我的代码: #include <stdio.h> #define MAXLINE 1000 int better_line_length(char line[], int lim); void copy(char to[], char from[])

    1热度

    1回答

    练习6-2。编写一个读取C程序的程序,并按字母顺序打印每组 变量名,这些变量名在前6个字符中是相同的,但在此后的某处不同。不要在字符串和评论中计数 单词。使6可以从命令行设置一个参数。 (来自K & R) 我开始研究这个练习,并且我被困在开始。我尝试获取整个输入并将其逐行保存在数组中,然后将数组中的指针指向保存的行。后来我想到为每个单词分配空间并将它们复制到一棵树上。然而,在下面的代码时,我打字作