Code Fix

中級Segmentation fault(scanfで&を付け忘れる) › パターン1

Segmentation fault(scanfで&を付け忘れる)

scanfは書き込み先のアドレスを受け取る関数です。

 1  #include <stdio.h>
 2  
 3  int main(void) {
 4      int age;
 5      sscanf("42", "%d", ________);
                               ^
 6      printf("%d\n", age);
 7      return 0;
 8  }
Segmentation fault

空欄を埋めてコンパイル・実行を通す

広告
広告スロット(未設定)

Segmentation fault(scanfで&を付け忘れる)

scanf("%d", x)のように&を付け忘れると、変数の値そのものを不正なアドレスとして書き込もうとし、クラッシュします。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)