求0-9间偶数的四位二进制数
两种做法,8的结果不同,为什么?
第一种正确代码
for(i=0;i<=3;i++)
{a[i]=n%2;n=n/2;}
for(i=3;i>=0;i--)
{printf("%d",a[i]);}
运行结果:8
1000
第二种错误代码
for(i=1;i<=4;i++)
{a[i]=n%2;n=n/2;}
for(i=4;i>=1;i--)
{printf("%d",a[i]);}
运行结果:8
0000
若你的a[]定义为a[5]
两者结果没有区别
若你的a定义为a[4]
第二个程序能运行都已是你运气好了,因为C标从0开始.
定义的a[4],只能用a[0],a[1],a[2],a[3],你用a[4]下标溢出了
程序可能会崩溃,结果当然可能不对的
下一篇:电脑配置怎么换才可以吃鸡
上一篇:e5200能不能带动7870
热门标签: