C'est pas vraiment possible que :


printf("le type est :%d", n + q);

affiche " le type est: long" , sachant que '%d' affiche un nombre et sur ton code il afficherai tout simplement 7...