前提・実現したいこと
drand48 を用いて,整数の乱数(0 ∼ 999, 999) をコマンドライン引数の個数(1 ∼ 1, 000, 000)
を生成し,標準出力に出力するプログラムを作成したいです。
発生している問題・エラーメッセージ
プログラムを実行すると以下のようなエラーメッセージが表示され、困っています。
エラーを検索した結果、発生原因は
①存在しないメモリを使用した場合
②再帰が深すぎる場合
であると思われました。
この点を考慮して、ソースコードを確認してみたのですが、どこを直せばよいのが分かりませんでした。
Segmentation fault
該当のソースコード
c言語
1#include <stdio.h> 2#include <stdlib.h> 3#include <time.h> 4 5int main(int argc, char *argv[]){ 6 int i, num, y; 7 double x; 8 9 num = atoi(argv[1]); 10 11 srand48(time(NULL)); 12 13 for(i=0; i<num ; i++){ 14 x = drand48(); 15 y = x *10000000; 16 printf("乱数%d=%f\n",i+1, y); 17 } 18 return 0; 19}
試したこと
Segmentation fault について調べること
ソースコードの見直し・書き直し
補足情報(FW/ツールのバージョンなど)
エディター Virtual Studio Code
コンパイラ command prompt for VS 2019
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/05 07:05