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ć ??