Program z parametrem funkcji

0

Napisałem sobie programik do wywoływania z parametrami :

Mam w nim taką funkcję :

int uruchom(char funct[],int value){
  int result;
  if(strcmp(funct,"silnia")==0) {
    result = silnia(value);
    return result;
  }
  else if(strcmp(funct,"suma")==0) {
    result = suma(value);
    return result;
  }
  else {
    return -1;
  }
}

int silnia(int n) {
  if(n == 1) return 1;
  else {
    return n *silnia(n-1);
  }
}

int suma(int n) {
    if(n == 1) return 1;
    else {
      return n + silnia(n-1);
    }
}
 

I wywołuję ją w taki sposób

uruchom(argv[1], readInt); 

I niestety po wywołaniu programu z parametrem np. silnia wyskakuje błąd.
Jeśli jednak zamiast pierwszego argumentu funkcji uruchom podczas wywołania wpiszę samo "silnia" to działa prawidłowo. O co może chodzić ??

1
if(argc>1) uruchom(argv[1], readInt);
else return 1;

1 użytkowników online, w tym zalogowanych: 0, gości: 1