零度指沙间 发表于 2019-10-27 15:44:17

八进制中-077错在哪


合法的8进制数是(A)
A)0          B)028C)-077D)01.0

-077错在哪里

人造人 发表于 2019-10-27 16:14:00

这个可以帮到你吗?

http://bbs.bccn.net/thread-434960-1-1.html

人造人 发表于 2019-10-27 16:19:07

#include<stdio.h>

int main(void)
{
        int a = -0666;
        printf("%d\n", a);
}

// -438
// 请按任意键继续. . .

人造人 发表于 2019-10-27 16:34:58

既然如此,正确答案应该是 C

B肯定不对
D也不对,如果D是对的,那么下面这个代码就是错的,但是下面这个代码是正确的
01.0是double类型的1
08.0是double类型的8,如果01.0是八进制,那么08.0就应该报错,但是编译器并没有报错,编译器把01.0和08.0看成十进制的double处理
#include<stdio.h>

int main(void)
{
        double a = 01.0;
        double b = 08.0;
        printf("%lf\n", a);
        printf("%lf\n", b);
}

// 1.000000
// 8.000000
// 请按任意键继续. . .

A的意义不明确
0既可以是二进制,又可以是八进制,还可以是十进制和十六进制

那么正确答案是 C
页: [1]
查看完整版本: 八进制中-077错在哪