99问答网
所有问题
c++基本概念,求解释 int a=011 printf("%d\n",++a) 结果 a是 10
c++基本概念,求解释
int a=011
printf("%d\n",++a)
结果
a是 10
菜鸟求帮助!谢谢!
举报该问题
推荐答案 推荐于2018-02-28
011 是
八进制
的数 不是
十进制
的 11
八进制 的表示方法是 0开头的 例如 026 03003 012261 都是八进制的
你这个题,打印的时候是 %d 十进制,所以011的八进制要转换成 十进制,即 9
++a 是先加,在进行运算,所以,先将a 加1 在打印
结果为 10
希望对你有帮助啊!
你可以在找一下,各进制的表示方法!
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/BtjtevBeW.html
其他回答
第1个回答 2012-12-19
以0开头的是8进制数,八进制011转换成10进制是:9
printf("%d\n",++a)以10进制输出 ++a(前加加是先加再运算),结果是 9+1 为10.。。
你可以printf("%o\n",++a) 输出一下就看到结果是:12 (八进制的 12)
第2个回答 2012-12-19
我也是菜鸟,不过看到你的提问,百度了一下,懂了。
a=011,说明是八进制的一个数,转换成十进制是9,即a=9;
而++a的意思是先把a加上一再输出,即a=a+1;,懂了吗,还有,菜鸟一般先百度而并不是百度知道,这个比较慢……
第3个回答 2012-12-19
a = 011是八进制,转换为十进制为a = 9
%d 是打印十进制的
%o是打印八进制的,你试试...
第4个回答 2020-05-22
011=9,所以++a=10
1
2
下一页
相似回答
...mai
n()
{ int
a = 011;
printf(
"
%d
\n"
, ++a )
}
答:
以0开头的是八进制,以OX开头的是16进制,还有就是那个
++a(
先加)与a++(后加)的区别了,前者是先加1再输出,后者是先输出后加1,
c语言题 mai
n()
int
a=011
printf(%d,
\
n,a)
输出
结果
多少
答:
a=
011
在前面加了‘0’,于是编译器默认把它当成八进制的数,八进制的“011“相当于十进制的“9”
mai
n()
{int
a=
11;
printf(
"
%d
\n",a
++);
} 这个
结果
等于多少,为什么
答:
结果
等于11 因为首先你定义的是int整型的,printf为输出的类型设为%d,%d代表输出数据类型是整数,\n当然就是回车啦,下面的参数是a++,a++是把a=11给a,然后再进行++1 如果是++a的话,结果就是12了,++a的意思是先加1再输出
...{ int
a=011,
b=101;
printf(
"%x,%o/n"
,++a,
b++
);
}为什么答案不是输 ...
答:
有一个问题要搞清楚,以0开头的数默认是八进制,八进制的
011是十
进制的9
,++a;是
先把a的值加1,再取值,所以++a;的值是十进制的
10,
而%x是以十六进制的方式显示,而十进制的10对应的十六进制是a,b是十进制的101,b++;是先取b的值,再把b的值加1,所以b++;的值是101,而%o是是以八...
...{ int
a=
5,c; c=
(a
+=a
++);
printf(
"
%d,%d
\n",c
,a);
} 输出
结果
为...
答:
关键在于这一语句的理解 c=(a+=a
++);
1、先看右边括号中的 a+=a++,对于它,再看等号右边,右边 a 先执行运算,再加1,所以先执行a+=a; 得到
a=10,
将a的值赋于c 2、再执行a
++,10
加1就得到了11
int
a=
1;
printf(
"
%d,
%d, %d\n", a
, ++a,
a++
);结果是
答:
执行int
a=
1
;
printf(
"%d, %d, %d\n", a
, ++a,
a++)的结果为3,3,1。这个语句的输出结果不是唯一的,因为对于求值的顺序是不一定的,所以说还有可能输出的结果为1,2,2。当求值的顺序为自右向左是,那么a++先引用1然后再加1,会输出1,然后++a是先加1再引用,会输出3这个
结果,
...
...mai
n()
{int
a=
010,j=
10;printf(
"
%d
,%d\n"
,++a,
j--
);
}
答:
010是八进制(因为这个0是前缀,表示它是八进制数)的
,%d是
以十进制整数形式输出的意思,所以运算时010被转化为十进制的8。++和--是自增自减运算符,具体你百度下好了
...void mai
n()
{ int
a=
0x11;
printf(
"
%d
\n"
,++a);
}
答:
就像楼主那样的情况 ++a表示在用a之前先自加,就楼主的例子来说就是
,printf(
"%d\n"
,++a);
等价于a=a+1
;printf(
"%d\n",a);这两条语句,a++表示用了a之后再自加;如printf("%d\n",a++);,等价于printf("%d\n",a)
;a=
a+1;这两条语句,说到这里楼主应该明白为什么
结果是
18了吧 ...
以下程序段的运行
结果是(
)
。 int
a=
1
;
printf(
"
%d,
%d, %d\n", a...
答:
结果是
3,3,1 因为
printf
执行的时候是从右往左的,先算a++ 再算++a 最后算a ;第一步 执行完a++之后 输出1,a的结果是2;第二步 执行
++a,
先自加再使用 输出3,a的结果是3;第三步 直接输出a ,即 输出3
大家正在搜
相关问题
c试题,新手不懂, int a=011; printf("%...
c语言 int x=011;printf(“%d\n",++...
int a=1; printf("%d, %d, %d\n"...
c语言题 main() int a=011 printf(%...
4.下列程序的输出结果是___B____。 main() {...
mian(){int a=011;printf(“%d\n”...
#include main() { int x=011; p...
int a=010;这里的010是什么意思 printf("...