当前位置:编程学习 > C#/ASP.NET >>

VS2008中检测到无法访问的代码 的问题

我是新手 ,用C#作数字图像处理,写了一个类 ,碰到了这么一个问题
在那个J++处,提示说有 无法访问的代码。。。请高手们指点呢...>_<
public int compare1(byte[,] im, byte[,] jm, int w, int h)//比较是否相同
        {
            int findflag=1;
            byte[,] m = new byte[w, h];
                for (int i = 0; i <w; i++)
                {
                    if(findflag==1)
                    {
                    for (int j = 0; j < h; j++)
                    {
                        if (im[i, j] != jm[i, j])
                            findflag = 0;
                        break;
                    }
                    }
                    else
                    break;
                }
            return findflag;
            } --------------------编程问答-------------------- 因为 findflag 一定是 1,所以 if (findflag == 1) ... else ... 的 else 永远不可能运行到。 --------------------编程问答-------------------- --------------------编程问答-------------------- 逻辑要正确 --------------------编程问答-------------------- LS回答都很正确。。。 --------------------编程问答--------------------
引用楼主 fengzibianhao1111 的回复:
▪ 云中数据安全靠技术还是制度?▪ 移动云计算产业链有哪些环节构...▪ 如何评判一个系统是否有必要迁...▪ 如何在第三方电子商务中运用云...▪ 怎么分析云计算在各个领域的应...我是新手 ,用C#作数字图像处理,写了一个类 ,碰到了这么一个问题
在那个J++处,提示说有 无法访问的代码。。。请高手们指点呢...>_<
public int compare1(byte[,] im, byt……
那如果我想让他执行下去,是不是前面不赋值呢? --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
因为 findflag 一定是 1,所以 if (findflag == 1) ... else ... 的 else 永远不可能运行到。
是因为我前面对它赋值的关系么?可是,不这么写,我怎么使findflag=1时执行外面的循环呢? 不加前面的if语句行么? --------------------编程问答-------------------- 是for (int j = 0; j < h; j++)
  {}
每次进入这个循环后,j=0时没执行j++,并且只是循环一次后就break了,
所以j++是一直没执行的
--------------------编程问答--------------------  for (int j = 0; j < h;j++) {
   if (im[i, j] != jm[i, j])
      {
findflag = 0;
   break;
}
}
这样写就没错了 --------------------编程问答--------------------
引用 8 楼 xiejunyema 的回复:
 for (int j = 0; j < h;j++) {
   if (im[i, j] != jm[i, j])
      {
findflag = 0;
   break;
}
}
这样写就没错了
是把外面的if去掉?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,