ID非公開

2020/9/24 0:24

22回答

次のプログラミング解説を行って欲しいです、、

次のプログラミング解説を行って欲しいです、、 #include <stdio.h> #include <stdlib.h> int div2(int *p) { int r; r = *p % 2; *p = *p / 2; return r; } int main(int argc, char **argv) { int i, j, c, s[10]; i = atoi(argv[1]); if(i>1024){ fprintf(stderr,"Error: too big number.\n"); exit(1); } printf("%d -> ", i); c = 0; while(i > 0){ s[c] = div2(&i); c++; } for(j=c-1;j>=0;j--){ printf("%d",s[j]); } printf("\n"); }

ベストアンサー

1

コマンドライン引数の1番目の文字列を 10進数の数値として解釈し、変数 i に代入し、表示する。 その代入された変数 i の数値を下位から2で割った 余りの数値を sc の配列に順番に格納し、 変数 i の数値を2で割り、変数 i の数値が0になるまで繰り返し、 sc の配列に格納された数値を、最後に格納された方から順番に 出力する。 最後に改行を出力する。

1人がナイス!しています

ThanksImg質問者からのお礼コメント

助かりました、、、 ありがとうございました。

お礼日時:9/24 8:24

その他の回答(1件)