程序:a=-17Lprintf("%d\\n",a)其中a的定义数是十进制还是八进制,还是十六进制,但是十进制定义不能带字母八进制是以0开头十六进制是以0X开头那a定义的是什么数?程序的结果是什么?
a定义的是长整型数。如long int a = -17L; /*可省略int*/输出时的格式符是%ld如printf("a=%ld\\n", a);程序结果是-17如果格式符是%d, 而a的补码又超过了65535,则输出结果会被截断。
提问者对答案的评价:
在后面加L(long)表示长整形(long int)的意思,依然还是十进制数输出语句也最好改为:printf("%dl\\n",a);希望我说的没错!
你说的不错 |