
プログラミングをしたら添付画像のようにセグメントエラーが起きました。何を直し...
この回答は投票によってベストアンサーに選ばれました!
ベストアンサー以外の回答
1〜2件/2件中
- 並び替え:回答日時の
- 新しい順
- |古い順
2017/10/1718:04:43
Cでは、ローカル変数(関数内で宣言された変数)の初期値は「不定」です。0かも、-100かも、20億かも、わかりません。
int n;
int data[n];
とすると、nの値はプログラムからはわかりませんが、実行時にはとにかくなにかの値が入ります。例えばnが0だったら、要素数0の配列って何、とか。
9だったら、10番目以降のデータ入力では配列の範囲外にアクセスすることになってしまうでしょう。(多分この状態)
20億だったら...メモリ管理の関係が破綻しちゃいます。
C言語なので、その辺の警告はまともに出してはくれません。プログラマが自衛しないといけません。
int n;
の後に
scanf("%d",&n);
でnの値を確定させてから
int data[n];
としましょう。昔のCでは変数宣言はブロック開始直後('{'のあと)に実行文等が登場する前に書かなければいけませんでしたが、今どきのCはその辺好きな場所に書けますから。
なお、配列の要素数に変数を使える「可変長配列」は、1999年版のC99で規格に採用されましたが、2011年のC11では「オプション」に格下げになっています。結果、1999年規格に対応したコンパイラを結局出さずに2012年まで旧規格で引っ張ったVisual Cではこれは使えません。
Windows以外では標準で使われているgccやclangでは使えますが、今後Windowsでプログラムを書くつもりなら注意した方がいいかも知れません。
2017/10/1713:43:49
関連度の高い質問
- プログラミングC言語int data[12] = {-4, 2, -2, -9, -3, 3, -6, -10, 7, 8, 4, 1...
- C言語に関する質問です。struct list{ int data; struct list* next;};というリ...
- C言語についての質問です。int data[50],count1,count2,number,temp; printf("デ...
- C言語の「型」に関する質問です。int data;printf("%d", data);dataは識別子なの...
- c言語プログラミングがわかりません。int data[8]= {8,5,1,5,6,2,9,0};これに対し...
「C言語、int data」に関する質問
このカテゴリの回答受付中の質問
- FXのMT4のEAで教えてください。 int start() { // 買いポジションのエグ...
- Unityで映像を3つのディスプレイに出力したいです。カメラを3つ置くのではなく、1...
- 大学のプログラミングの授業で分からないことがあり質問させていただきます。 こ...
- ZOOM MS-50G エフェクトマネージャーがダウンロード出来ない ZOOMのMS-50Gにメー...
- プログラミングについてです。 以下はフィボナッチ数列の性質を調べるプログラム...
- c言語についてです。 棒倒し法での迷路を作ってください。 条件1:外周を壁で埋め...
- c言語についてです。 棒倒し法での迷路を作ってください。 条件1:外周を壁で埋め...
- python3での質問です。 それぞれのソート方法の計算回数の比較をしようとしてい...
- doxygen初心者です。 コメントの記載に関して質問させていただきます。 構造体...
- 仕事でC言語を使用していますが、別途C++も学習したいと考えております。 恥ずか...
このカテゴリの投票受付中の質問
- C言語についてです。 EasyIDECを使っているのですが、printf("表示");でエラーが...
- プログラミングの問題なのですが、1番を除いて全くわかりません。C++に精通してい...
- C言語の宿題がわかりません 大学1年生です。 科目の成績を表す点数を入力すると...
- パソコンのCドライブの中にDisplayIconというファイルがあります これはいったい...
- 1,1,1,1,1,2,2,2,2,2,3,3,3,4という文字列を1,5,2,5,3,3,4,1という風に変換するプ...
- C++ の便乗質問です。 sample( int (&file)[255] ); の引数関する質問があり...
- C++、VisualStudio2015を使用しております。 コマンドラインオプションを使って引...
- こちらのサイトのプログラムに関して質問です。 https://pastebin.com/pebK5fJL ...
- 500チケです どうしてできないのですか? 対処法教えてください プログラムの...
- (2)Cの分子量の求め方がわかりません。求め方を教えて欲しいです。 答えは60です。
カテゴリQ&Aランキング
- 戻る
- 次へ
総合Q&Aランキング
Yahoo!知恵袋カテゴリ
Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
お客様自身の責任と判断で、ご利用ください。

