- 締切済み
C言語の四則演算プログラムについて
こんにちは。hayato2192といいます。 今回は、C言語についてのことを質問したいとおもいます。 MSN相談箱の質問の中で数ある四則演算プログラムに対する質問をみたのですが、僕がつくろうとしているプログラムとはまったくちがいました。 プログラムコードは以下です。 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ #include <stdio.h> main() { int d1, d2; char op; printf("START PROGRAM : Arithmetic operation\n"); printf("ENTER THE NUMBER\n"); scanf(" %d", &d1); printf("ENTER THE OPERATOR\n"); scanf(" %c", &op); switch (op) { case '+': printf("ENTER THE NUMBER\n"); scanf(" &d", &d2); printf("ANSWER IS %d\n", d1+d2); break; case '-': printf("ENTER THE NUMBER\n"); scanf(" &d", &d2); printf("ANSWER IS %d\n", d1-d2); break; case '*': printf("ENTER THE NUMBER\n"); scanf(" &d", &d2); printf("ANSWER IS %d\n", d1*d2); break; case '/': printf("ENTER THE NUMBER\n"); scanf(" &d", &d2); printf("ANSWER IS %d\n", d1/d2); break; default: printf("NO ANSWER\n"); break; } return 0; } \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 使っている関数はscanf printf switchだけというとてもシンプルなプログラムなのです。 じっさい、このプログラムをBorlandのコンパイラでコンパイルすると、switch関数がまったく使われずに、演算子(このプログラムでいうOPERATORです)を入力するところで終了してしまいます。 どのように直せばよいのでしょうか。教えてください
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- sky222
- ベストアンサー率70% (22/31)
前の2人の方の指摘も気になりますが、これが一番の原因ではないかと。 C: scanf()関数の連続使用は注意 http://www.aa.alpha-net.ne.jp/freeh/minimini/develop/cscanf.html
- mond_msx
- ベストアンサー率30% (6/20)
とりあえず4箇所の scanf("&d",&d2); を scanf("%d",&d2); に直しましょう
お礼
ありがとうございました!
とりあえず、switch文の中の scanf(" &d", &d2); を scanf(" %d", &d2); に変更してみる。
お礼
ありがとうございました!
お礼
できました。ありがとうございました!