#include<stdio.h>
main()
{
int a=012,b=11;
printf("%d %d\n",++a,b++);
}
和
#include<stdio.h>
main()
{
int a=12,b=11;
printf("%d %d\n",++a,b++);
}这两个程序的区别为什么前一起输出时11 11,后面一个是13 11呢,初学者多多赐教!
------解决方案--------------------
0开头表示8进制
------解决方案--------------------
- C/C++ code
#include<stdio.h> main() { int a=012,b=11; // a=012, 012是八进制的形式,对应十进制是 10 printf("%d %d\n",++a,b++); // a是先++a,再传值,b++是先传值,再++,等价于 printf("%d %d\n",11,11); } // 第二个程序同上