10進数で入力された整数を2進数に直して表示させるプログラムを書いています。2で割ったあまりを配列にひとつづ入れていきたいと思い、配列の要素数を変数に設定しようとしたのですが、エラーが起きてしまいます。(7行目)
c
1#include <stdio.h> 2 3int binary(int x); 4int binary(int x) 5{ 6 int n = 0; 7 int i = 0; 8 int dt[i] = { 0 }; 9 10 n = x / 2; 11 12 for (i = 0;; i++) 13 { 14 if (n > 1) 15 { 16 dt[i] = x % 2; 17 return; 18 } 19 else 20 { 21 dt[i] = 1; 22 } 23 24 } 25 while(i >0) { 26 printf("\n", dt[i--]); 27 } 28 29} 30int main(void) 31{ 32 int N, m = 0; 33 printf("Please input data.\n"); 34 scanf("%d", &N); 35 printf("N = %d\n",N); 36 37 m = binary(N); 38 39 printf("Your input data exchanged %d.\n", m); 40 41 return 0; 42} 43
また、このエラーが訂正できたとして、このコードで2進数に変換するプログラムが完成するかどうか教えていただきたいです。
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/27 13:30