问题
单项选择题
有以下程序: 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符合题意。