c语言中赋值语句拼不过for语句的问题??

用c语言做SDK批处理项目,想通过找寻屏幕某一区块的颜色值确定一个坐标点,语句如下:intzuobiao[2];intx=753;inty=100;COLORREFdia... 用c语言做SDK批处理项目,想通过找寻屏幕某一区块的颜色值确定一个坐标点,语句如下:
int zuobiao[2];

int x=753;
int y=100;
COLORREF dian;
COLORREF dian2;

dian2=RGB(31,202,192);
for(int i=0;i<30;i++,x++,y=100)
{
for(int i=0;i<30;i++,y++)
{
dian=GetPixel(GetDC(0), x, y);
if(dian==dian2)
{zuobiao[0]=x;zuobiao[1]=y;goto LOOP;}
}
}
LOOP: return 1;
}

这段代码功能是找寻屏幕上某块区域的某个坐标点,并把坐标点的x和y坐标传给数组元素zuobiao[0]和zuobiao[1],试验了很多次,如果将zuobiao[0]=x;zuobiao[1]=y;这段代码用goto 语句放到forz循环外面去执行就可以成功赋值,那为什么放在for循环里面则没法赋值呢?郁闷,恳求行家指点啊!(我没多少分了)!!
展开
 我来答
rm_2013
2012-07-10 · TA获得超过459个赞
知道小有建树答主
回答量:281
采纳率:100%
帮助的人:171万
展开全部
放到外面能成功?
你确认条件(dian == dian2)有成立的时候?
加个断点跟踪一下吧

BTW,你的代码真的惊天地,泣鬼神
1. 那么多字母,你干吗就跟一个i过不去呢
2. for的表达式写那么复杂干吗呢
更多追问追答
追问
恩,我确认是成功的,我之前做了一个显示屏幕某点坐标和RGB颜色值的的小软件,然后再通过这个软件才精确确定了dian2=RGB(31,202,192);这行代码。把zuobiao[0]=x;zuobiao[1]=y放到外面是真的能成功的。。。for  的意思是在屏幕30*30的区域内找符合dian2的数值。
追答
从代码上确实没看出来问题

在你测试dian == dian2的地方,
把你的30 x 30范围内的所有RGB打印出来,
看是否存在与你条件符合的点
然后再进一步分析
rssg888
2012-07-10 · TA获得超过1032个赞
知道小有建树答主
回答量:330
采纳率:0%
帮助的人:375万
展开全部
看来dian==dian2条件始终没能满足
你试试函数结束前输出一下 dian和dian2看看二者的值是否相同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式