【发布时间】:2014-01-15 22:27:20
【问题描述】:
在 c 中,当这段代码运行时,它输出 10 10 10 10 10。我认为循环应该在第一次执行后退出,因为 i 变为 11,但它没有发生。为什么会这样?
#include<stdio.h>
int main()
{
int i;
for(i=0;i<5;i++)
{
int i=10;
printf("%d\t",i);
i++;
}
return;
}
但是当程序编写如下时,输出与我的想法相似(即 10 )。上面的代码和下面显示的代码之间的确切区别是什么? C如何处理这些变量?如果有人对此进行解释,我会很高兴。
#include<stdio.h>
int main()
{
int i;
for(i=0;i<5;i++)
{
i=10;
printf("%d\t",i);
i++;
}
return;
}
【问题讨论】:
-
你不应该从
main()执行return;——它应该有一个返回值,编译器应该会抱怨。 -
应该是
return 0。 -
ya..true..谢谢指出..