Which of the following is a secure way to use scanf?
-
scanf("%.8s", name);
-
scanf("%8s", name);
-
scanf("%8c", name);
-
scanf("%s", name);
B
Correct answer
Explanation
%8s reads up to 8 characters, adding null terminator (fits in 9-byte buffer). %.8s also works but reads at most 8 without null. Option C (%8c) reads 8 characters including no null terminator. Option D (%s) has no length limit and is unsafe.