为什么以下代码在编译时总是显示“is up to date" ?长按ctrl+f9偶尔闪过运行窗口,但看不清楚内容,
main()
{
int num[10];
int i;
for(i=0;i<10;i++)
num[i]=i;
printf("The number is %d\n",num[i]);
}
----------------解决方案--------------------------------------------------------
你的程序怎么说呢,好象功能和你的原意不一样,输出的是最后一个结果;要查看结果的话按alt f5,那是显示屏幕的
----------------解决方案--------------------------------------------------------
to:大水牛
的确是和我的原意有出入,我的原意是要显示每一个num[i],为什么呢?
另外为什么输出的是最后一个结果是-24,而非我想要的i呢?
----------------解决方案--------------------------------------------------------
main()
{
int num[10];
int i;
for(i=0;i<10;i++)
num[i]=i;
printf("The number is %d\n",num[i]);
}
上面是你的程序,你应该把for的循环体搞清楚,因为你没有把num[i]=i; 和
printf("The number is %d\n",num[i]);放在循环体内,可以改成以下格式:
main()
{
int num[10];
int i;
for(i=0;i<10;i++)
{num[i]=i;
printf("The number is %d\n",num[i]);
}
}
这样你再试试去!比你的多一对{}。
----------------解决方案--------------------------------------------------------
为什么以下代码在编译时总是显示“is up to date" ?长按ctrl+f9偶尔闪过运行窗口,但看不清楚内容,
main()
{
int num[10];
int i;
for(i=0;i<10;i++)
num[i]=i;
printf("The number is %d\n",num[i]);
}
另外你说屏幕一闪而过,为了解决这个问题,你可以在函数体的末尾加上getch();----------------解决方案--------------------------------------------------------
而且你说的-24的问题,是因为你在执行printf的时候,i已经加到10了,这已经超出你的数组范围了,输出的是下一个存储单元的值,他的值是多少自然是你不可预料的
----------------解决方案--------------------------------------------------------
这和你用的编辑器有关:若是win―tc闪一下就没了!
应该在程序的最后加上:getch();
----------------解决方案--------------------------------------------------------