10進数を任意の基数(2〜36)に変換し、適切な文字を画面に出力するメソッドを作成しています。 decimalToSymbol()
メソッドが正しく機能します。私が抱えている問題は、ループでans[i]
をchar
に割り当てて、それが0
の直後に印刷しようとしたときです。私はオンラインで見て、これはchar
を割り当てるための正しい方法だが、何がうまくいかないかはわかりません。Cで文字配列を操作する
void writeRadixB(int decimalNumber, int radixB)
{
char ans[80] = "";
int i = 0;
while(decimalNumber!= 0){
printf("decNum: %d div by rB: %d equals %d\n", decimalNumber, radixB, decimalN
printf("decNum: %d mod by rB: %d equals %d or char %c\n", decimalNumber, radix
printf("i: %d\n", i);
decimalNumber = decimalNumber/radixB;
ans[i] = decimalToSymbol(decimalNumber%radixB);
printf("ans[%d] is %c\n", i, ans[i]);
i++;
}
printf("(%s) radix %d", ans, radixB);
}
渡している値の例を挙げることはできますか?また、毎回最後の桁を割り算する前にモジュラスを実行してはいけませんか? – FatalError
私はFatalErrorに同意し、作成した文字列で数字が逆順に並べられることにも注意したい。 – Nobody
decimalToSymbolメソッドが正しく動作することをどのように知っていますか?また、あなたの文字列をnullで終わらせてください。 'ans [i] = '\ 0';あなたが印刷する前に1。 – RussS