質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

1回答

1193閲覧

visual studioでのscanf関数について

corum117

総合スコア9

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2018/07/04 05:15

編集2018/07/04 05:17

前提・実現したいこと

visual studioで立方体を作っていて、その座標を自分で指定できるようにしたいと思い
scanf_sを使ってみたのですがうまく動作してくれません
xとyにあらかじめ代入すると動作はしてくれました
以下のソースコードはその一部です
イメージ説明

C言語

1int main(){ 2 CreateImage(IMAGE_0, BLACK); //画像を準備 3 SetTargetImage(IMAGE_0); //描画対象を設定 4 double x,y; 5 scanf_s("%f", &x); 6 scanf_s("%f", &y); 7 printf("X=%f", x); 8 printf("Y=%f", y); 9 /*x = 0; 10 y = 0;*/ 11 12 Point3d siten = { -100+x, 100+y, 0 }; 13 Point3d syuten = { -100+x, 100+y, 100 }; 14 Line3D(300, 1, siten, syuten, WHITE); 15 16 Point3d siten2 = { 100 + x, 100 + y, 0 }; 17 Point3d syuten2 = { 100 + x, 100 + y, 100 }; 18 Line3D(300, 1, siten2, syuten2, WHITE); 19 20 Point3d siten3 = { -100 + x, -100 + y, 0 }; 21 Point3d syuten3 = { -100 + x, -100 + y, 100 }; 22 Line3D(300, 1, siten3, syuten3, WHITE); 23 24 Point3d siten4 = { 100 + x, -100 + y, 0 }; 25 Point3d syuten4 = { 100 + x, -100 + y, 100 }; 26 Line3D(300, 1, siten4, syuten4, WHITE); 27 28 Point3d siten5 = { -100 + x, -100 + y, 0 }; 29 Point3d syuten5 = { -100 + x, 100 + y, 0 }; 30 Line3D(300, 1, siten5, syuten5, WHITE); 31 32 Point3d siten6 = { -100 + x, 100 + y, 0 }; 33 Point3d syuten6 = { 100 + x, 100 + y, 0 }; 34 Line3D(300, 1, siten6, syuten6, WHITE); 35 36 Point3d siten7 = { 100 + x, 100 + y, 0 }; 37 Point3d syuten7 = { 100 + x, -100 + y, 0 }; 38 Line3D(300, 1, siten7, syuten7, WHITE); 39 40 Point3d siten8 = { 100 + x, -100 + y, 0 }; 41 Point3d syuten8 = { -100 + x, -100 + y, 0 }; 42 Line3D(300, 1, siten8, syuten8, WHITE); 43 44 Point3d siten9 = { -100 + x, -100 + y, 100 }; 45 Point3d syuten9 = { -100 + x, 100 + y, 100 }; 46 Line3D(300, 1, siten9, syuten9, WHITE); 47 48 Point3d siten10 = { -100 + x, 100 + y, 100 }; 49 Point3d syuten10 = { 100 + x, 100 + y, 100 }; 50 Line3D(300, 1, siten10, syuten10, WHITE); 51 52 Point3d siten11 = { 100 + x, 100 + y, 100 }; 53 Point3d syuten11 = { 100 + x, -100 + y, 100 }; 54 Line3D(300, 1, siten11, syuten11, WHITE); 55 56 Point3d siten12 = { 100 + x, -100 + y, 100 }; 57 Point3d syuten12 = { -100 + x, -100 + y, 100 }; 58 Line3D(300, 1, siten12, syuten12, WHITE); 59 /*Point3d syuten2(-100, 100, 1000); 60 Line3D(300, 1, syuten, syuten2, WHITE); 61 Point3d syuten3(-500, 500, 1000); 62 Line3D(300, 1, syuten, syuten3, WHITE); 63 */ 64 WaitKey(); 65 66}

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

ソースコード

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

最近のCがどうなってるか知らないから古い知識かもしれませんが、
気になるところが2点
・scanfでdoubleのときは%lf(printfは%fでOk)
・2回目のscanfは改行コードを読捨てる等の処理がいるはず。

投稿2018/07/04 05:29

kopio

総合スコア487

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

corum117

2018/07/04 05:33

めっちゃしょうもないミスしてました... ありがとうございました!ちゃんと動作しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問