У меня есть следующий фрагмент кода:
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, который указывает на?