/* atof example: sine calculator */
#include <stdio.h> /* printf, fgets */
#include <stdlib.h> /* atof */
#include <math.h> /* sin */ #define vfd_com_timeout_clear() do{vfd_com_cnt = 0;}while(0)
#define vfd_com_timeout_recount() do{vfd_com_cnt = 0;}while(0) /*
判断等待时间是否超时
*/
int is_eload_com_timeout(void)
{
//电子负载超过2s时间尚未反馈
if (1)
{
return 1;
}
else
{
return 0;
}
} int main ()
{
double n, m;
double pi = 3.1415926535;
char buffer[256] = {"000000.01212\n234"}; int vfd_com_cnt = 5;
printf("vfd_com_cnt = %d\n",vfd_com_cnt);
vfd_com_timeout_clear();
printf("vfd_com_cnt = %d\n",vfd_com_cnt); if (!is_eload_com_timeout())
{
printf("oooo\n");
}
else
{
printf("kkkkk\n");
} n = atof (buffer);
printf("n=%f\n", n);
m = sin (n * pi / 180);
printf ("The sine of %f degrees is %f\n", n, m);
return 0;
} int is_eload_com_timeout(void)
{ if (1)
{
return 1;
}
else
{
return 0;
}
} int main ()
{
double n, m;
double pi = 3.1415926535;
char buffer[256] = {"000000.01212\n234"}; int vfd_com_cnt = 5;
printf("vfd_com_cnt = %d\n",vfd_com_cnt);
do{vfd_com_cnt = 0;}while(0);
printf("vfd_com_cnt = %d\n",vfd_com_cnt); if (!is_eload_com_timeout())
{
printf("oooo\n");
}
else
{
printf("kkkkk\n");
} n = atof (buffer);
printf("n=%f\n", n);
m = sin (n * pi / 180);
printf ("The sine of %f degrees is %f\n", n, m);
return 0;
}

上文已经就将源代码和预编译后的比分文字合作一起了。

#define vfd_com_timeout_clear()     do{vfd_com_cnt = 0;}while(0)

这个代码我起初以为会有问题,应为括号里面是空的,

但是使用gcc -E .\atofc.c -o atofc.i后,发现直接替换了,因此该方法可以使用。

但是注意,宏定义不检查语法的,因此写宏定义的时候要格外小心。

#define的一个小技巧的更多相关文章

  1. POJ-3262 贪心的一个小技巧

    Protecting the Flowers Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3204   Accepted: ...

  2. 快速掌握iOS API的一个小技巧

    快速掌握iOS API的一个小技巧 周银辉 iOS SDK和Developer Library中提供了各个类以及函数的帮助文档,这很棒,但要想了解整个库的大体结构(比如UIKit下有哪些类,他们的继承 ...

  3. 【flash】关于flash的制作透明gif的一个小技巧

    关于flash的制作透明gif的一个小技巧 或者说是一个需要注意的地方 1.导出影片|gif,得到的肯定是不透明的.2.想要透明背景,必须通过发布.3.flash中想要发布gif动画的话,不能有文字, ...

  4. 【每日一个小技巧】Python | input的提示信息换行输出,提示信息用变量表示

    [每日一个小技巧]Python | input的提示信息换行输出,提示信息用变量表示 在书写代码的途中,经常会实现这样功能: 请输入下列选项前的序号: 1.选择1 2.选择2 3.选择3 在pytho ...

  5. 针对ACM输出格式的一个小技巧(对格式错误说不!)

    printf("%d%c",bmax," \n"[i==n]); 上文中bmax为题目中需要输出的整形变量,可以脑补很多ans,max之类的,重点在于%c和后面 ...

  6. Scrapy 5+1 ——五大坑附送一个小技巧

    笔者最近对scrapy的学习可谓如火如荼,虽然但是,即使是一整天地学习下来也会有中间两三个小时的"无效学习",不是笔者开小差,而是掉进了深坑出不来. 在此,给各位分享一下作为一名S ...

  7. python笔记_查看函数调用栈的一个小技巧

    一.背景 最近在看一个开源框架的源码,涉及到的内容非常杂乱,有的函数不知道是在什么时候被谁给调用了?调用的时候传入了什么参数?为了解决这个问题,写了一个小的装饰器. 二.实现 这个装饰器函数主要参考了 ...

  8. Eclipse被卡死了或者失去响应了后分析根源的一个小技巧

    提升程序员工作效率的工具/技巧推荐系列 推荐一个功能强大的文件搜索工具SearchMyFiles 介绍一个好用的免费流程图和UML绘制软件-Diagram Designer 介绍Windows任务管理 ...

  9. C++模板类继承的一个小技巧

    先说一下background前段时间想实现一个Sqlite localstorage的功能,对应不同的Model 实体有不同的table, 每一次sql操作的函数签名中会有model实体中的struc ...

随机推荐

  1. LeetCode 84. 柱状图中最大的矩形(Largest Rectangle in Histogram)

    84. 柱状图中最大的矩形 84. Largest Rectangle in Histogram

  2. linux命令及相关配置

    hostname # 查看 hostname vim /etc/hostname # 修改hostname,重启后生效 vim /etc/resolv.conf 写入 nameserver 192.1 ...

  3. css中常用的选择器和选择器优先级

    css常用的选择器:类选择器,id选择器,元素选择器,伪类选择器,伪元素选择器,属性选择器. 选择器的优先级由四个部分组成:0,0,0,0 一个选择器的具体优先级如下规则确定: ID选择器 加 0,1 ...

  4. flask框架(八)—自定义命令flask-script、多app应用、wtforms表单验证、SQLAIchemy

    自定义命令flask-script 用于实现类似于django中 python3 manage.py runserver ...类似的命令,用命令行启动项目 首先安装:pip3 install fla ...

  5. DFS集训

    2019-07-29 09:01:06 A PARTY A company has n employees numbered from 1 to n. Each employee either has ...

  6. .net core使用ocelot---第三篇 日志记录

    简介 .net core使用ocelot---第一篇 简单使用 .net core使用ocelot---第二篇 身份验证使用 上篇介绍使用asp.net core 创建API网关.本文将介绍Ocelo ...

  7. NEST 多IndexType与分页

    /// <summary> /// POST /_all/employee/_search?typed_keys=true /// </summary> public void ...

  8. python-django框架中使用docker和elasticsearch配合实现搜索功能

    注意:系统环境为Ubuntu18 一.docker安装 0:如果之前有安装过docker使用以下命令卸载: sudo apt-get remove docker docker-engine docke ...

  9. OC 组合实现多继承

    OC无法完全先C++使用多继承,但可以采用组合的模式来代替继承模式.(协议实现)实现多继承的代码:举例现在ClassC需要继承ClassA中methodA.ClassB中methodB,具体的代码为: ...

  10. 2.将多个元素设置为同一行?清除浮动有几种方式?【HTML】

    1.将多个元素设置为同一行:float,inline-block 清除浮动的方式: 方法一:添加新的元素 .应用 clear:both: 方法二:父级div定义 overflow: hidden: 方 ...