【发布时间】:2016-01-29 07:54:31
【问题描述】:
如果输入是查找模式,则模式识别程序必须打印包含该模式的所有行。如果输入是 find -x pattern,则程序必须打印除包含 pattern 的行之外的所有行。
// .....
switch(c)
{
case 'x':
except=1;
break;
// ......
}
// ......
while(getline(line,MAXLINE)>0)
{
line_num++;
if( (strstr(line,*argv)!=NULL) != except)
{
if(number)
printf("%ld:",linenum);
printf("%s",line);
found++;
}
}
// ......
在来自 K&R 的上述代码中,除了可以是 1 或 0。if(strstr...) 块如何有效地处理 -x ?
【问题讨论】:
-
我不明白这个问题。你能详细说明一下吗?
-
您能否更新您的问题以显示
except的定义和初始化?