问题 单项选择题

有以下程序:
main()
int x=102, y=012;
printf("%2d,%2d\n",x,y);

执行后输出结果是( )。

A.10,01

B.02,12

C.102,10

D.02,10

答案

参考答案:C

解析: 本题中,“printf("%2d,%2d\n",x,y)”表示以逗号隔开输出两个十进制整数,每个整数域宽是2。而在C语言中规定:当域宽小于实际宽度时域宽不起作用,按实际宽度输出,因此最后的输出值为102和10(y的初值012表示八进制整数12,等于十进制的10)。所以,4个选项中选项C符合题意。

单项选择题
多项选择题