Одинарные кавычки принимают строки буквально . 'l \ n2' - это всего 4 символа. (Ну, не совсем так с двумя последовательными обратными слешами ...).
Двойные кавычки оценивает строки, которые позволяют экранировать символы и анализировать переменные. Эта оценка выполняется при создании строки перед выполнением strlen ().
В двойных кавычках "\" является escape-символом. Это приводит к тому, что "\ n" будет оцениваться как перевод строки (LF), который представляет собой один символ ASCII. Это делает «l \ n2» строкой из 3 символов: «l», LF и «2».