Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C语言代码中的问题:包含特定代码块时不显示_C - Fatal编程技术网

C语言代码中的问题:包含特定代码块时不显示

C语言代码中的问题:包含特定代码块时不显示,c,C,刽子手代码:第113-125行 除了包含这一行代码外,所有代码都很好: //Verify mask if all is filled up. int sea; gameover=1; // for(sea=0;sea<length;sea++) { if(!mask[sea]) {

刽子手代码:第113-125行

除了包含这一行代码外,所有代码都很好:

         //Verify mask if all is filled up.
              int sea;
              gameover=1;
            //  for(sea=0;sea<length;sea++)
              {
                if(!mask[sea])
                    {
                    gameover = 1;
                      break;    
                    }
              }
//验证掩码是否已填满。
内海;
gameover=1;
//对于(sea=0;sea此时-
如果(!mask[sea])
,则变量
sea
未赋值。您使用
sea
的值作为
mask
的偏移量。这会导致

注释掉的
for
语句首先使用赋值运算符
=
将整数
0
赋值给
sea
。假设
mask
是一个数组,则使用
sea
的值跳转到
if
语句中数组的特定元素

现在,
sea
是未赋值的,它可能是任何东西(甚至是负数)。因此,您试图使用未知索引访问数组中的某个元素。这就像您知道朋友住在哪条街上,但您不知道门牌号一样


HTH

你能再解释一下吗?我应该把sea分配到哪里?你说的偏移量是什么意思?非常感谢。我刚刚分配了int sea=0的值;谢谢!明白了。我刚开始熟悉stackoverflowinitialize
sea
int sea=0;
否则
sea
可以有任何值,当你这样做的时候<代码>屏蔽[sea]
您可能正在执行
屏蔽[-42]
并导致UB