- 締切済み
scanf関数について(至急回答をお願いします!)
大学1年の者です 学校のプログラミングIの宿題で、教科書(田中敏幸:著 C言語 プログラミング入門 コロナ社発行)の以下のプログラムを入力して、それが正しく実行できたか確認する、という宿題2つが出ました 1つ目の問題とそのプログラムが以下の通りです 問題:scanf関数を用いて整数型変数i, jとdouble型実数変数fに値を代入し、それぞれの値を画面に表示するプログラムを作成せよ [プログラム] /* Hello World 出力プログラム */ #include <stdio.h> int main(void) { int i, j; double f; scanf("%d %d %lf", &i, &j, &f); printf("i=%d j=%d f=%f\n", i, j, f); return 0; } これをデバッグ{デバッグなしで開始(H)}すると、黒い画面に何も表示されなかったのですが、この状態は正常でしょうか? それとも間違っているのでしょうか? プロンプトが関係するのでしょうか?(visual studioに書いたやつをそのままコピペしたため、文字がずれてますがご容赦ください) また、2つ目の問題とそのプログラムが以下の通りです 問題:scanf関数を用いてint型整数変数iとdouble型実数変数fに値を代入し、それぞれの値を画面に表示するプログラムを作成せよ ただし、scanf関数の前にプロンプトを表示させるためのprintf関数を置くこと。 [プログラム] /* Hello World 出力プログラム */ #include <stdio.h> int main(void) { int i; double f; printf("input integer -> "); scanf("%d", &i); printf("input real -> "); scanf("%lf", &f); printf("i = %d, f = %f\n", i, f); return 0; } これをデバッグ{デバッグなしで開始(H)}した結果、黒い画面に「input integer - >」とだけ表示されたのですが、この状態は正常でしょうか? それとも間違っているのでしょうか? これもプロンプトが関係するのでしょうか?(こちらもvisual studioに書いたやつをそのままコピペしたため、文字がずれてますがご容赦ください) よろしくお願い致します
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Wr5
- ベストアンサー率53% (2173/4061)
微妙に誤字があったな…「その黒い画面都やら」=>「その黒い画面とやら」です。 あと…動作には全く関係ないですし、ある意味どうでもいいのですが… ソース上のコメントに間違ったこと書くと、将来仕事にした場合に困ることになるかも知れません。 # 実際問題、この程度のプログラムだったらほんと~にどうでもいいコトではあるが。
- Wr5
- ベストアンサー率53% (2173/4061)
scanf()には出力する機能はありませんよ。 # 入力中の状態を表示はするでしょうが…。 ということで… >黒い画面に何も表示されなかったのですが、この状態は正常でしょうか? >黒い画面に「input integer - >」とだけ表示されたのですが、この状態は正常でしょうか? どっちも正常です。 「入力待ちしているだけ」ですから。 その黒い画面都やら(コンソールって言いますかね)をマウスでクリックしてアクティブにしてから、規定のフォーマットで入力して下さい。 それで先に進むでしょう。 # 数字入力するところに数字以外を入力するとscanf()はエラーになりますのでご注意を。 # あと、数字でもいわゆる全角数字などは数字と認識してくれませんので重ねてご注意を。