私はtxtファイルをコマンドライン引数として渡して、内容をstdoutに表示します。私は5つの整数変数(n、a、b、i、temp)をプログラムの最初に作成したい。しかし、このプログラムは2つ以上の整数を宣言すると、私にsegfaultを与えています。私が3番目のint宣言(int b)をコメントアウトすると、プログラムは正常に動作しています。また、私はubuntuを実行しています。シンプルなプログラムはsegfaultを与えて、奇妙な動作を把握することができません
main(int argc, char *argv[]){
int n;
int a;
int b;
// int i;
// int temp;
char *s;
if(argc!=2){
printf("not enough arguments provided!!\n");
exit(-1);
}
FILE *fp = fopen(argv[1],"r");
while((s=fgets(s,5,fp))!=NULL){
n = atoi(s);
printf("%d",n);
}
fclose(fp);
}
は、[GDB](http://www.unknownroad.com/rtfm/gdbtut/gdbsegfault.html)あなたの友達です。 – nmichaels
おかげでnmichaels。私は間違いなくgdbを使用する方法を学ぶ必要があります – rkt