• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

过滤掉500以上的数据

1eafcf3e9be1382b 2019-01-23 浏览量:603
int glwb(unsigned int j_m)
{
  if(j_m>500)  
{   
     j_m=ccc;   
}
    else if(j_m<501)  
  {  
ccc=j_m;        

  }

  return  j_m;

}

老师请问这个判断语句正确吗?功能:ccc是小于500以内的实时数据,大于500的数据把上次存入ccc的数据存入j_m返回,小于500的数据把j_m存入ccc返回。谢谢!!!

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 如果是我,我会这样写

    int glwb(unsigned int j_m)

    {
        ini ret;

        static int ccc=0;


        if(j_m>500)  
       {   
          ret=ccc;   
       }
       else
     {
        ccc=j_m; 
        ret=j_m;

      return  ret;
    }
    • 发布于 2019-01-23
    • 举报
    • 评论 1
    • 2
    • 0
robe_zhang 回复了 川楠:厉害 回复

其他答案 数量:11
  • 没有起到过滤的效果,不知道为什么,返回的数据还是过滤前的数据。
    • 发布于2019-01-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 你写的没问题,逻辑正确,不过还可以精简一些,把第7行else后面全删了也可以,这样执行效率最高
    • 发布于2019-01-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 是对的,最好再加一个else,把其他的情况也处理一下
    • 发布于2019-01-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个语句没毛病,按逻辑下来是可以正常执行的
    • 发布于2019-01-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 你如果是想要存连续数据的话那应该是开辟全局数组,那么这样你的数据就肯定不会丢。
    • 发布于2019-01-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 调用IF函数一般都是这么计算,变量声明要对
    • 发布于2019-02-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 实际的逻辑是正常的,要排查其他的问题
    • 发布于2019-02-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 最好是用全局变量来处理,这样比较稳妥
    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

过滤掉500以上的数据