- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
第一次海报。希望有人能帮我解决这个问题。在 5.10 节中,Kernighan 给出了一个程序示例,该程序重新打印其中包含字符串的文本行。所以我将其保存为我的文件夹中的“查找”,然后进入 cmd,然后进入文件夹,然后键入查找“-x whatever”。然而由于某种原因,'-' 没有注册,它只是将“-x whatever”视为一个长字符串。任何人都知道为什么会这样吗?谢谢。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXLINE 1000
int getline(char *s, int lim)
{
int i = 0;
while(i < lim - 1 && (*s = getchar()) != EOF && *s++ != '\n')
i++;
if(*s == '\n')
*s++ = '\n', i++;
*s = '\0';
return i;
}
int main(int argc, char *argv[])
{
char line[MAXLINE];
long lineno = 0;
int c, except = 0, number = 0, found = 0;
while(--argc > 0 && (*++argv)[0] == '-')
while(c = *++argv[0])
switch(c) {
case 'x':
except = 1;
break;
case 'n':
number = 1;
break;
default:
printf("find: illegal option %c\n", c);
argc = 0;
found = -1;
break;
}
if(argc != 1)
printf("Usage: find -x -n pattern\n");
else
while(getline(line, MAXLINE) > 0) {
lineno++;
if((strstr(line, *argv) != NULL) != except) {
if(number)
printf("%ld:", lineno);
printf("%s", line);
found++;
}
}
printf("Found: %d", found);
return found;
}
最佳答案
你必须输入
find -x whatever
代替
find "-x whatever"
关于c - Kernighan/Ritchie 的第 5.10 节命令行参数/可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9458381/
在此代码示例中提到第二个“c = getchar()”是否有任何原因? #include /* copy input to output; 1st version */ int main(void
我最近在网上阅读了一些有关函数式编程的内容,我想我对其背后的概念有了基本的了解。 我很好奇涉及某种状态的日常编程问题是如何用纯函数式编程语言解决的。 例如:《C 编程语言》一书中的字数统计程序如何用纯
第二版。我正在查看他们在第 6.6 节中的哈希表示例。我发现完整的源代码被转录了 here .这是我困惑的部分: struct nlist *np; if((np=lookup(name))==NUL
我到处都读到,如果你从事计算机科学,C 是大学毕业前必须掌握的语言。我拿起了教授推荐的《里奇和克尼汉》第二版。我对这个程序是如何工作的感到很困惑。如果有人能解释一下那就太好了!该程序计算每个数字、空格
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
在第 2 版的第 1.5.2 节中。 K&R 在本章中介绍了 getchar() 和 putchar() 并给出了字符计数、行计数等的示例。 这是字符计数程序 #include main() { l
我正在阅读 Kernighan 和 Ritchie 合着的“The C Programming language”一书,但我陷入了一个话题。 主题编号 1.6 讨论数组。在书中,他们包含了一个计算数字
Exercise 2-6. Write a function setbits(x,p,n,y) that returns x with the n bits that begin at positio
全部。 我编写了一个程序作为 Kernighan & Ritchie 练习 2-3 的解决方案,它在测试期间的行为(恕我直言)非常不直观。 问题规范说要编写一个程序,将十六进制值转换为十进制值。我编写
这是练习 5-11:修改程序entab和detab(写成第1章的习题)为接受制表位列表作为参数。如果没有参数,则使用默认选项卡设置。 entab 被描述为 用最小数量的制表符/空格替换空格字符串以获得
我正在通过 K&R(第 2 版)进行 self 启发,遇到了以下练习(练习 2-2 p42): Write a loop equivalent to the following without usi
第一次海报。希望有人能帮我解决这个问题。在 5.10 节中,Kernighan 给出了一个程序示例,该程序重新打印其中包含字符串的文本行。所以我将其保存为我的文件夹中的“查找”,然后进入 cmd,然后
关于 ANSI C 函数声明,这与旧的 K&R 风格相比有何改进?我知道它们之间的区别,我只是想知道使用旧样式会出现什么问题以及新样式是如何改进的。 最佳答案 旧式函数声明,尤其是不允许对调用进行编译
我正在尝试使用 Kernighan 和 Ritchie 的书(C 圣经)来学习 C。在尝试使用 tcc 和 MinGW(使用 Windows)编译第一个问题时。它给了我一条错误信息。最详细的来自 Mi
#include main () { int c; while ((c = getchar()) != EOF) putchar(c); } 当我们写东西时,程序在按 Enter 后给出输出,而不是
这是字数统计程序的代码示例。但这不起作用。当我们执行它时,输入单词后它应该显示结果,但它没有产生任何结果。这段代码中缺少什么吗? #include #define IN 1 /* inside a
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
我正在执行“The C Programming Language”一书中的任务 1.14,但不知道我的代码出了什么问题,尤其是在打印图表时。 #include #define MAX 300 int
我试图理解 Kernighan 和 Ritchie 的书“The C Programming Language, 2nd edition”中显示的存储分配器程序。我想我理解得最多,但是当我在 Wind
我正在尝试用 C 语言编写一个程序,将十六进制数转换为整数。我成功地编写了一个将八进制转换为整数的程序。但是,一旦我开始使用字母 (a-f),问题就开始了。我对该计划的想法是广告如下: 参数必须是以0
我是一名优秀的程序员,十分优秀!