次の問題のプログラムを作ってみましたが、コンパイルできません。 どこが間違っているのか教えて下さい。 入力された数字を2進数表示するプログラムを作成しなさい。 条件:main関数、2進数の文字列を返す関数の2つの関数で作成する。 扱う数の最大は、int型でよい。 #include <stdio.h> int sinnkeisann(int k); main () { char buff[32+1]; int k ,kotae; printf("整数値を入力して下さい>>>"); fgets(buff,sizeof(buff),stdin); sscanf(buff,"%d",&k); kotae = sinnkeisann( k ); printf("2進数表記>>>%d",kotae); } int sinnkeisann(int k) { int a,i,answer; char retu[32+1]; a=k; retu[32] = '\0'; for(i = 0; i < 32; i++){ if(i != 0 && a == 0){ break; } if(a %2 == 0){ retu[(32-1) - i] = '0'; } else{ retu[(32-1) - i] = '1'; } a = a / 2 ; } answer = retu[0]+(32-1)-i+1 ; return answer ; } |