我宣布:
int xstartoftable;
void drawframe();
int main()
{
int xstartoftable = 80-TLENGTH;
drawframe();
return 0
}
void drawframe();
{
gotoXY(xstartoftable - 1, ystartoftable - 1);
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我调试时,xstartoftable的值是随机的,不等于main()中的值.代码超过150行,这只是需要的部分.
那是因为你在main中重新声明你的变量.
int main()
{
int xstartoftable = 80-TLENGTH; //extra declaration here
drawframe();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
而是只做:
int main()
{
xstartoftable = 80-TLENGTH; //leave out declaration
drawframe();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这类似于:
int main()
{
int x = 0;
{
int x = 1;
}
printf("%d",x);
//will print 0
}
Run Code Online (Sandbox Code Playgroud)
在某些编译器上,您甚至可能会收到错误.