瑞鹤改的搭载数是多少:C语言选择题大家帮忙看看

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 15:57:26
有以下程序
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

c是正确的。
首先,y=012是八进制数(因为以0开头),转化成十进制是y=10。而x,就是102。
其次,“%Nd” N代表输出数据占据的位数。而题中printf(“%2d,%2d\n”,x,y); 表示x,y都占据两位。但是x是三位数,需要占据三位,所以“%2d”中的2不起作用。而y刚好占据两位。
若是printf(“%4d,%2d\n”,x,y);则结果为_102,10.(其中_代表空格)

d