问题 单项选择题

有以下程序: 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符合题意。

多项选择题
填空题