若a为整型变量,则下列语句的输出值为什么是-2

a=-2L
printf("%d\n",a);

long int a = -2L; // 定义一个长整型变量,变量名为a,并进行初始化。初始化的时候将-2转化为长整型后再赋给变量a

int a = -2L; // 定义一个整型变量a,并进行初始化。初始化时-2L表示先将-2转化为长整型,但由于a是int类型,所以之后又转化为int类型赋值给变量a

有帮助的话采纳一下,谢谢!

对于-2来说
长整型以整形输出值是一样的

L是缺省后缀,表示a为long或double类型