У меня есть следующий фрагмент кода:
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] == '-') //These two lines
while(c = *++argv[0]) //These two lines
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;
}
...
}
Содержит следующие выражения:
while(--argc > 0 && (*++argv)[0] == '-')
Разве это выражение в круглых скобках (*++argv)[0] отличается от while(c = *++argv[0]) без круглых скобок?
Если да, то как? Обозначает ли (*++argv) указатель на следующий аргумент и означает *++argv[0] означает указатель на следующий символ в текущем массиве char, который указывает на?