voidの関数を使って10進数を2進数にするプログラムを作りたいのですが関数に入った後の計算結果が表示がされず、そのまま次のコマンドが入力できるようになってしまいます。
自分としては関数の中で無限ループを回して2で割ったあまりを出力すればいいと考えました。また負の値が入力されたら抜けるようにしました。
./a.out
10進数から2進数にした数値を入力してください
66
みたいな感じになってしまいます。
c
1#include<stdio.h> 2#include<stdlib.h> 3void d2btrans(int); 4int main(){ 5 int n,f; 6 printf("10進数から2進数にした数値を入力してください\n"); 7 scanf("%d",&n); 8 9printf("\n"); 10 11return 0; 12} 13 14void d2btrans(int i){ 15 16if(i<0){ 17 exit(2); 18} 19 while(i>0){ 20 i%=2; 21 printf("%d",i); 22 } 23}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/29 08:15