Tu também pode fazer utilizando o laço for e ficaria assim
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]){
// Começamos com int = 1 para não contar com o nome do programa
for (int i = 1; i < argc; i++){
if (strcmp(argv[i],{Nome da flag desejada}) == 0){
// Chama função da flag
}
}
return 0;
}
Este seria um método mais Anti-GNU que poderia ser usado. Mas ele provavelmente deixaria seu código um pouco mais gordinho do que se ele tivesse feito a dieta do GNU