我必須製作一個程序,用於從用戶輸入十進制數字的基礎上轉換數字。我提出這個代碼,但我無法向炭數組傳遞作爲對函數中的參數:如何將char數組作爲參數傳遞給C中的函數?
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;
}
主:
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);
}
當我運行該代碼,該程序崩潰。
有人可以幫我嗎?
遺憾的英語不好:)
謝謝你,我剛剛開始用C語言編程,並且遇到很多困難。再次感謝您的幫助。 – puddaa03