スレを勃てるまでもないC/C++の質問はここで 4
■ このスレッドは過去ログ倉庫に格納されています
0651デフォルトの名無しさん
2008/12/14(日) 20:36:25main(){
int c,i;
int n[2];
for(i=0; i<2; i++){
printf("%d",i+1);
while((c=getchar()) != '\n'){
if(c >= '0' && c <='9'){
c = c - '0';
n[i] = n[i] * 10 + c;
}else{
/* 終了 */
}
}
}
printf("%d + %d = %d",n[0],n[1],n[0] + n[1]);
return 0;
}
getchar関数を使った足し算を作成したのですが2つの数字を入れてみたところ、
n[1]の値だけ入力した値と異なった値(正の整数が負の整数に、値もめちゃくちゃ)がでてしましました。
どこを改善したらいいか分かりません。アドバイスお願いします。
また、コメントの終了部分に文字が入った場合その場で終了という感じでreturn0を入れたのですが、
1つめを入力したあと終了せずに2つめまで行ってしまいます。これについても終了できる関数かなにかを教えてください。
コンパイラはgccです。
■ このスレッドは過去ログ倉庫に格納されています