Logic-闫 发表于 2019-1-20 21:47:08

初学,Why?

——若有以下定义和语句: int  u=010, v=0x10, w=10; printf(“%d,%d,%d\n”,u,v,w); 刚输出结果是() 
A)8,16,10       B)10,10,10             C)8,8,10        D)8,10,10
这题或许对某些大神来说很简单,有谁能告诉我准确的解题思路呢?
拜托!!!
#include (stdio.h)

void main()
{
int u=010, v=0x10, w=10;
printf("%d, %d, %d,\n", u, v, w);
}

Logic-闫 发表于 2019-1-20 21:49:42

帖子发表时出了问题,直接看我输的代码吧答案:
A:8, 16, 10.
B:10, 10, 10.
C:8, 8, 10.
D:8, 10, 10.
答案是A,可惜搞不懂,求解!

sunrise085 发表于 2019-1-20 22:19:50

这个是进制问题。
0开头的是八进制;
0x开头的是十六进制;
普通的就是十进制。

Logic-闫 发表于 2019-1-20 22:39:47

sunrise085 发表于 2019-1-20 22:19
这个是进制问题。
0开头的是八进制;
0x开头的是十六进制;


谢啦!主要是第一个我搞不清楚,我一直以为是二进制呢,结果算出来是二。。。
页: [1]
查看完整版本: 初学,Why?