Ich muss ein Programm machen, das eine Zahl von einer Basis konvertiert, die der Benutzer in einer Dezimalzahl eingegeben hat. Ich habe diesen Code, aber ich habe Probleme, die char-Array als Parameter an die Funktion übergeben:Wie kann ich ein char-Array als Parameter an eine Funktion in C übergeben?
int base_decimal(char x[100], int y){
int tot = 0;
int p = 1;
int arr[100];
int i,a,j = 100;
for(i=0;i<100;i++){
printf(" %s ", x[i]);
switch(x[j]){
case 'a': arr[i] = 10;
break;
case 'b': arr[i] = 11;
break;
case 'c': arr[i] = 12;
break;
case 'd': arr[i] = 13;
break;
case 'e': arr[i] = 14;
break;
case 'f': arr[i] = 15;
break;
default: arr[i] = atoi(&x[j]);
break;
}
j--;
}
for(a = 0; i<100;a++){
tot += arr[a] * pow(y,a);
}
return tot;
}
der Haupt:
void main(void) {
int b, x=0;
char n[100];
int num;
printf("type de number: \n");
scanf("%s", n);
fflush(stdin);
printf("type de base:\n");
scanf("%i", &b);
num = base_decimal(n, b);
printf("The number %i in decimal is: %i ", b, num);
}
, wenn ich den Code ausführen, stürzt das Programm ab.
Kann mir jemand helfen ???
sorry für die schlechte Englisch :)
Danke Mann, ich fange gerade an, in C zu programmieren, und ich habe viele Schwierigkeiten. Nochmals vielen Dank für die Hilfe. – puddaa03