Program rozpoznający wzór musi wydrukować wszystkie wiersze zawierające wzór, jeśli wejściowy wzór znajdzie. Jeśli wejście jest wzorcem find -x, program musi wydrukować wszystkie linie poza liniami zawierającymi wzór.Wyjaśnienie w sekcji 5.10 K & R 2
// .....
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++;
}
}
// ......
W powyższym kodem z K & R z wyjątkiem może być albo 1 lub 0. W jaki sposób if(strstr...)
funkcje blokowe skutecznie obsłużyć -x?
Nie rozumiem pytania. Czy możesz rozwinąć? –
Czy możesz zaktualizować swoje pytanie, aby pokazać definicję i inicjalizację 'except '? –