关于51的一段小程序请大家帮帮忙不知道怎么弄了两个程序结果不一样

akun200ren   2010-3-15 06:32 楼主
for(i=0;i<10;i++)
{
    ad=read2543(0x80); //0x80第九通道
  ad1=ad;
    k=k+ad1;
  }
  k/=10;
a=k;
我用数码管显示如果直接显示k是正确的值如果加上a=k;结果显示是错误的为什么那 请大家指教

回复评论 (11)

如果直接显示k是正确的值
如果加上a=k
两个条件语句 就报错
啥意思啊
点赞  2010-3-15 08:05
楼主把把数码管显示的代码贴上来看看啊
点赞  2010-3-15 08:36
把显示的程序贴出来呀!看看是不是参数错误!
点赞  2010-3-15 08:37
a和k的数据类型分别是什么。
如果k是浮点,a是整型,你这句a=k会把a和k的值都改掉。
点赞  2010-3-15 08:43
a和k的类型不同吧
点赞  2010-3-15 10:40
等晚上我把完整的程序 贴出来 大致就是这样类型是一样的啊  就是出错可能是哪个循环的毛病  但是我不知道   那里出错为什么出错 郁闷好久了  类型是相同的 比如说直接显示k为1566用a显示则为1706
点赞  2010-3-15 17:56
我是 做 NTC热敏电阻 时遇到 的 如果 谁遇到过 也 可以加我QQ374485141
点赞  2010-3-15 17:58
谢谢大家  问题以解决
点赞  2010-3-15 22:39
怎么回事啊!
点赞  2010-3-16 11:45
怎么解决的?
点赞  2010-3-16 11:57
我 的 k变量在while循环里  从新开始循环时进行清零就可以了 可能是我没说明白让大家误解了
点赞  2010-3-18 22:49
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复