为什么选A呀?有人可以解释吗?

#include

main()

{

int  x = 072;

printf("%d\\n",  x+1);

}

程序运行后的输出结果是()。

A

59
B

73
C

115
D

72

单选题

设有定义:int a,b; float x,y; ,则以下选项中对语句所作的注释叙述错误的是()。

A

scanf("%d%d%f", &a, &b);     /* 多余的格式符%f完全不起作用 */
B

scanf("%d%d", &a, &b, &x);    /* 多余的输入项不能获得输入数据 */
C

scanf("%d%f%d", &a, &b, &x);  /* 输入项与格式符类型不匹配,变量b和x得不到正确的输入数据 */
D

scanf("Input:%d%d", &a, &b); /* 格式串中允许加入格式符以外的字符串 */

072是八进制表示
printf("%d\\n", x+1); 是将072这个八进制数加1后用十进制打印出来。八进制数072换成十进制是58,+1变成59,所以答案是A。

072 八进制 换成十进制就是 58