
私は最近5月からCのプログラミングを学び始めた中3なんですが
じゃんけんゲームと丁半ゲームを今までに作りました
で今回数当てゲームを作ってみたのですが何回作り直しても
エラーが出ます(コンパイラのエラーではなくWindows?のエラーのようなもの)
じゃんけんゲームなどと同じように作ったつもりなのですが・・・・
どうなっているのでしょうか?
ソースは↓です
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
int kazu,i,x;
printf("数当てゲーム!!\n");
srand(time(NULL));
x=0;
i=0;
do
{
kazu=rand()%9+1;
printf("数を入力してください(1~9)\n");
scanf("%d",i);
if(i<10){
if(i==kazu)
{
printf("当たり!!\n続けるなら0やめるなら0以外を入力");
scanf("%d",x);
}
else
{printf("残念・・・はずれ\n続けるなら0やめるなら0以外を入力");
scanf("%d",x);}
}
else
{printf("入力ミスです\n続けるなら0やめるなら0以外を入力");
getch();}
}while(x==0);
return 0;
}
一応コンパイラのエラーは出ていないのですが・・・
初心者なのでわかりません。
どこが原因なのか詳しくおしえてください
No.1ベストアンサー
- 回答日時:
>エラーが出ます(コンパイラのエラーではなくWindows?のエラーのようなもの)
>一応コンパイラのエラーは出ていないのですが・・・
の場合には、「どこまで動いているのか」ということをデバッガのブレークポイントやprintf()を挿入するなどして確認していきます。
今回の問題は「使用してはいけないメモリを使用しようとしている」ことにより発生します。
ある意味、典型的なバグです。
>scanf("%d",i);
ではなく、
scanf("%d",&i);
が正解です。
「変数iに入れる」ではなく、「変数iの値のアドレス(=0番地)に入れる」という動作の為、不正なエラーとなります。
尚、xも同様ですので。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
Excelのエラーで困ってます。
-
HEWを使用しているのですが、こ...
-
Visual Studioのstrcpy_sについて
-
エラー 'iostream.h' : No su...
-
適切な変換関数が存在しない???
-
RightとLeft関数のライブ...
-
VC++6.0 の/Zm オプションについて
-
visualstudioでコンパイルでき...
-
Handlesについて
-
ツリービューで、エクスプロー...
-
バッチからsqlplusの接続エラー...
-
レコードセットをcloseする所で...
-
OpenSSLでOPENSSL_Applinkが見...
-
左側がクラス、構造体、共用体...
-
fortranでプログラムを実行する...
-
ビルド失敗 指定されたファイ...
-
Fortran コンパイルエラーについて
-
EXEで実行すると発生するORA:06...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
Excelのエラーで困ってます。
-
適切な変換関数が存在しない???
-
fortranでプログラムを実行する...
-
コンパイルできません。
-
ビルド失敗 指定されたファイ...
-
VB2008で定数に色の設定をした...
-
バッチからsqlplusの接続エラー...
-
HEWを使用しているのですが、こ...
-
デバッグ中のエラーのことで教...
-
visual C++ でビルドの中止がで...
-
DLL関数を使ったプログラム
-
Arduinoに関する質問
-
sys/time.hのインクルードがで...
-
Visual Studioのstrcpy_sについて
-
BC30002: 型 'ListItem' が定義...
-
RightとLeft関数のライブ...
-
VBAでファイルを開くプログラム...
-
HANDLEの宣言でのエラー
おすすめ情報