问题描述
解决方案
x用在for循环了,可以的, 循环内部使用循环外部的变量,要初始化,y=0
解决方案二:
你把Y赋值 了,会又提标你x未赋值
解决方案三:
int x, y, z;
z = 0;
for (x = 1; x < 20; x++)
{
for (y = 1; y < 30; y++)
{
z = 100 - x - y;
if (y == 10)
goto end;
}
end: Console.WriteLine("{0}{1}{2}", x, y, z);
Console.Read();
}
这样写可以的呢
解决方案四:
编辑器可以知道 z 做了初始化、x 是最外层的循环变量必定有赋值,但是并不确定是否可以进入到内层循环去给y赋值。
所以认为y存在未赋值的可能就会报错。
解决方案五:
因为x是最外层循环,肯定会做到的;但是y是内层循环,有可能外层循环一次都没有做,那样的话y就没有赋过值,因此编译器就直接告诉你y没有赋值了
解决方案六:
X在最外层循环 无论如何都会起码被赋值一次
但是当最外层循环不满足条件后 可能y层循环一次都不执行 这样就会导致y不能被赋值
根据你代码的意思,你可以在"z=0;"后加上"x=1;y=1;"
这样就不会有这个问题了
解决方案七:
楼主直接在声明变量x,y,z的时候初始化一下就行了,int x=0,y=0,z=0;
解决方案八:
是不是提示y有可能未被赋值啊
解决方案九:
- * 1. 额学习
解决方案十:
x 的输出是在 x循环中 ,所以一直都有值
但是y是在另外一个循环中 他不会去改变你外面的值