可不可以详细解释下,初始化那个如果拆分来看不就是在外面的吗???

#include "stdio.h"
int main(void)
{
int a=100,b=100;
for(int n=1;a>=b;n++)//我把它放在这里就通不过,提示未定义。但是我把它拿出来,放在上面一行,就可以,这是为什么。还有我用的是codeblocks还有我这个//的用法对不对?
{
b=(100*1.05)*n;
a=100+100*0.1*n;
}
printf("The cost is a is %d and b is %d and n is %d",a,b,n);
return 0;

}

交互式爱情
浏览 148回答 2
2回答

SMILET

这是变量的作用域问题如果你把变量n定义在for里,那它的作用域就在for块了,for{}循环外面是不能使用这个变量的。你在for循环结束后,想输出n,这是错误的,会提示你n没有定义。所以你应该把n的定义放在for外部,这样,整个main函数都可以使用了

慕沐林林

这个是编译器的问题有些编译器支持在for里面定义变量然后在for循环里面使用,但有些编译器不支持//只能注释一行多行的话用/* ........*/注释更多的部分可以用#if 0.....#endif
打开App,查看更多内容
随时随地看视频慕课网APP