前提・実現したいこと
現在、C言語プログラムを学習しているものです。
最初に数字を入力して、その入力した数字の数だけ数字入力を行い、格納した数字を出力するというコードを書きたく以下のようなプログラムを作成しました。
しかし、うまく実行ができません。原因はなぜか、またどのように修正する必要があるのか教えていただきたいです。よろしくお願いいたします。
発生している問題・エラーメッセージ
Segmentation fault: 11
該当のソースコード
C
1#include <stdio.h> 2#include <stdlib.h> 3 4int main(void){ 5 int *ip_line; //割り振られた領域のアドレスを格納するためのint型のポイント 6 int **plist; //ポインタへのポインタを宣言 7 8 /* 確保する要素数の入力 */ 9 int linesnumber,lin; 10 scanf("%d", &linesnumber); 11 lin = linesnumber; 12 //printf("%d %d\n",linesnumber,lin); 13 //linesnumber-confirm-linep 14 15 ip_line = (int **)malloc(sizeof(int *) * lin);/* lin個のint型ポインタのためのメモリー領域の確保 */ 16 17 int i; //iはデータ入力した順番の数字,nは 18 int n = 0; 19 for (i = 0; i < lin; i++) 20 { 21 //printf(" Input number of elements for array #%d : ", i+1); /* i番目のデータ配列の大きさnを指定 */ 22 scanf("%d", &n); 23 /* n個のint型変数のためのメモリー領域を確保し、そのアドレスをポインタ配列plistのi番目の要素として格納 */ 24 plist[i]=(int *)malloc(n * sizeof(int)); 25 } 26 27 for(i = n; i > 0;i--) 28 { 29 printf("%d\n",i); 30 } 31 return 0; 32}
試したこと
補足情報(FW/ツールのバージョンなど)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/17 13:08 編集
2018/06/17 10:33
2018/06/17 13:08 編集
2018/06/17 13:08 編集