中級 › 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
空欄を埋めてコンパイル・実行を通す
scanf系の関数は書き込み先のアドレスを受け取ります。&を付け忘れると、変数の値そのものを不正なアドレスとして書き込もうとしクラッシュします。
次の問題