




argv [i] [0] - первый символ в строке argv [i].
используйте только if (argv[i][0] == '-') или if (strncmp(argv[i],"-", 1) == 0)
Выражение &(argv[i][0]) на 100% эквивалентно просто argv[i]. Таким образом нельзя сформировать ведущую подстроку строки. Для вашей конкретной задачи было бы проще выполнить сравнение одиночного char с помощью оператора ==:
if (argv[i][0]) == '-') {
fprintf(stderr, "invalid option: '-%c'\n", argv[i][1]);
}
argv[i][0]будет первым символом аргументаith, например'-'. Взять адрес этого персонажа - это не то, что вам нужно. Вы должны просто сравнить его с точным символом, например:argv[i][0] == '-'