• 締切済み

c言語でエラーが出ます。

以下のプログラムでコンパイルするとエラーが出ます。どこが間違えていますか? #include <stdio.h> int main(void) { int vx,vy; puts("二つの整数を入力して下さい。"); printf("整数vx:"); scanf("%d", &vx); printf("整数vy:"); scanf("%d", &vy); printf("vx+vy=%d\n", vx+vy); printf("vx-vy=%d\n", vx-vy); printf("vx*vy=%d\n", vx*vy); printf("vx/vy=%d\n", vx/vy); printf("vx%%vy=%d\n", vx%vy); return(0); } コンパイラーはmicrosoft visual studio 2012です。エラー表示は「error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 」と出ます。 8行目のscanfの文にエラーと出ますがどこが間違っているか分かりません。どなたか分かる方教えて頂けますか?

みんなの回答

回答No.3

辞書片手にエラーメッセージの言わんとすることを理解すべし。

  • tadys
  • ベストアンサー率40% (856/2135)
回答No.2

英語は分からないなどと言わずに、エラーメッセージをちゃんと読みましょう。 This function or variable may be unsafe. この関数または変数は安全じゃないかも。 Consider using scanf_s instead. 代わりに scanf_s をつかってみたら。 To disable deprecation, use _CRT_SECURE_NO_WARNINGS. この警告を禁止するなら、 _CRT_SECURE_NO_WARNINGS を使いなさい。 See online help for details. 詳しくはオンラインヘルプを見てね。 scanf について、WIKIを見てください。 特に「バッファオーバーラン」の項目を見てね。 http://ja.wikipedia.org/wiki/Scanf

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

>8行目のscanfの文にエラーと出ますがどこが間違っているか分かりません。どなたか分かる方教えて頂けますか? エラーメッセージに理由と対処内容は書いてありますけど。 英文だからといって読むのをあきらめてませんか? http://msdn.microsoft.com/ja-jp/library/ttcz0bys(v=vs.110).aspx 本来は警告なのがエラーになってるのはコンパイラの設定をそうしてるからでしょうけど。

serty-24
質問者

お礼

設定でSDLチェック外すとできました。セキュリティ機能が働いていたんでしょうか?ありがとうございます。

関連するQ&A