DML (Data Manipulation Language) commands can be rolled back, DDL (Data Definition Language) commands can’t.
TRUNCATE is a DDL command, while DELETE is a DML command.
Both Options A and C are correct, but if anything I'd choose Option A because giving COMMIT command after DELETE has no role in retrieving lost data, making Option C slightly technically inaccurate.