主题:请帮忙看看下面的程序问题出在什么地方?

  共有36291人关注过本帖    
111
1楼


请帮忙看看下面的程序问题出在什么地方?  发帖心情 Post By:2009-6-23 10:14:00   [只看该作者]

请帮忙看看下面的程序问题出在什么地方:
下面是一段校验和程序,Eda_Data[50]数组存放获得的数据,共38个数据
Eda_Data[36]保存传来的校验和,我写了如下的校验程序:

chk = 0;
for (i = 2; i < 36; i++){
chk += Eda_Data[i];
}
if(chk != Eda_Data[36])  return(2); //校验错误
可是运行结果总是不对,从调试窗口看变量的值是相等的,
可是比较结果却不同,把比较语句改成下面的语句后结构就正确了,

chk1 = Eda_Data[36];
if (chk != chk1) return(2); //校验错误

这是怎么回事啊?

  单帖管理 | 引用 | 回复 回到顶部
lickson
2楼


  发帖心情 Post By:2009-6-23 11:20:00   [只看该作者]

应该和你定义的数据类型有关!

  单帖管理 | 引用 | 回复 回到顶部
111
3楼


  发帖心情 Post By:2009-6-23 14:08:00   [只看该作者]

谢谢,果然如此。
chk1定义为char,Eda_Data[]定义成了BYTE。改成一种类型就正常了。

  单帖管理 | 引用 | 回复 回到顶部

返回首页

请帮忙看看下面的程序问题出在什么地方?

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: