zoukankan      html  css  js  c++  java
  • typeof和clamp

                          (1)        typeof 不是 typedef 
                     

                    (2)

    #include <stdio.h>
    #include <stdint.h>
    #include <stdbool.h>


    #define clamp(val,min,max) ( {
    typeof(val) __val = (val);
    typeof(val) __min = (min);
    typeof(val) __max = (max);
    __val = __val < __min ? __min:__val;
    __val > __max ? __max:__val;})

    #define IS_DOMAIN(val,min,max) (((val>=min)&&((val<=max))?true:false))

    int main(void)
    {

    int value = 500;
    float ad_value = 100.00;
    printf("value is %d ",IS_DOMAIN(value,0,50));
    printf("value is %d ",value);

    printf("is_down is %f ",(double)IS_DOMAIN(ad_value,0,50));
    printf("value is %f ",(double)value);

    value = clamp(value,0,50);
    printf("value is %d ",value);
    value = clamp(value,1U,10);
    printf("frame index is %d ",value);


    return 0;
    }

    value is 5
    frame index is 5

    一勤天下无难事。
  • 相关阅读:
    常用内建函数
    函数作用域
    异常处理语句
    迭代器---待延申扩展
    流程控制语句
    字典
    集合
    数据类型的可变与不可变
    Openstack keystone组件详解
    云计算openstack介绍(001)
  • 原文地址:https://www.cnblogs.com/nowroot/p/13957880.html
Copyright © 2011-2022 走看看