首页 > 试题广场 >

程序运行后的输出结果是?

[单选题]
有以下程序
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
  int m=0123, n = 123;
  printf("%o %o\n", m, n);
  return 0;
}
程序运行后的输出结果是()
  • 0123 0173
  • 0123 173
  • 123 173
  • 173 173
推荐
C
o% 表示8进制进行输出int m=0123; m已经是8进制不需要进行转换  而n=123是10进制 需要进行8进制转换 得173
编辑于 2016-01-13 12:38:06 回复(3)
注意八进制输出时,前面不会带o字母的,一定要注意。
发表于 2016-05-18 17:35:35 回复(4)
数字前加0表示八进制数,加0x表示16进制。
发表于 2016-02-27 21:32:14 回复(0)
不会做
发表于 2015-10-25 14:11:44 回复(5)
%o表示以8进制输出,而以0开头的表示就是8进制的表示方式,所以对于0123输出123;B=123是十进制,要先转化为二进制,再转化为8进制就是173.
发表于 2016-03-28 16:11:16 回复(3)
数字前加0表示八进制数,加0x表示16进制。
%o表示八进制显示
发表于 2016-03-20 16:51:19 回复(0)
%o以八进制无符号形式输出整型,不输出前导0
发表于 2015-10-23 16:28:05 回复(0)
%#o 加了#才是要求输出前导0
发表于 2022-03-09 10:37:37 回复(0)
注意八进制输出时,前面不会带o字母的
发表于 2017-08-21 16:42:32 回复(0)
除非printf("%#o", n);才打印0123, 否则只是123
0123本代表八进制
173代表十进制
发表于 2022-02-28 21:41:50 回复(0)
想要输出带前导的数字 需要在前面加#,如 %#o %#x
发表于 2021-09-19 08:50:19 回复(0)
数字前加0表示八进制数,加0x表示16进制。
发表于 2021-05-14 23:38:45 回复(0)
123 十进制边8进制,123/8=15 余3 15/8=1 余 7 所以是173
发表于 2020-06-25 22:55:35 回复(0)
你不会告诉我那是哦吧
发表于 2016-01-12 21:22:17 回复(0)
%#o 加了#才是要求输出前面的0🌟🌟🌟🌟
编辑于 2024-03-29 17:36:40 回复(0)
o是八进制
发表于 2023-08-22 23:07:01 回复(0)
除非printf("%#o", n);才打印0123, 否则只是123 0123本代表八进制 173代表十进制
发表于 2022-06-19 16:51:05 回复(0)
数字前加0表示八进制数,加0x表示16进制。
发表于 2022-06-05 15:11:38 回复(0)
因为八进制以0开头,所以m=0123已经是八进制数,而123默认为十进制数,因此只需要进行十进制转换为八进制。
发表于 2022-04-07 19:13:20 回复(0)
发表于 2022-03-19 11:49:34 回复(0)
输出时在%和o之间加一个#可以八进制完整形式输出(即0123)。
发表于 2022-02-24 16:20:23 回复(0)