文字0が入力されるまで文字1から文字9までのいずれかを入力し続け、入力された順に各桁に持つような整数を求めて、画面表示するプログラムを作成したいです。(%dを用いて画面表示させる)例:文字6 4 5 2 1 0 と入力すると、整数64521が表示せれる。
以下のようなプログラムを作ったのですが、
実行結果がこんな感じになってしまいます。
2
3
4
0
-1807980
もしよろしければ、どのあたりが間違っているのかを教えていただけると嬉しいです。
よろしくお願いいたします。
#include <stdio.h> int main(void){ int a=0; char b; while(1){ scanf("%c", &b); a += b-'0'; if (b == 48) break; a = a*10; } printf("%d\n", a); return 0; }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。