定义一个循环的 loop 宏方法
2017-09-07 11:13
281 查看
有一些老外的开源项目里经常能见到 loop 宏定义,总结下
#include <stdio.h>
#define loop(x,n) for (int x = 0; x < n; ++x)
int main() {
int i;
loop(i, 10)
{
printf("%d\n", i);
}
return 0;
}
gcc loop.c 可能会报以下的错
c.c:3:19: error: ‘for’ loop initial declarations are only allowed in C99 mode
从上面的错可以看到在宏里定义for 只允许在 c99 模式下定义
于是 gcc -std=c99 loop.c 搞定
#include <stdio.h>
#define loop(x,n) for (int x = 0; x < n; ++x)
int main() {
int i;
loop(i, 10)
{
printf("%d\n", i);
}
return 0;
}
gcc loop.c 可能会报以下的错
c.c:3:19: error: ‘for’ loop initial declarations are only allowed in C99 mode
从上面的错可以看到在宏里定义for 只允许在 c99 模式下定义
于是 gcc -std=c99 loop.c 搞定
相关文章推荐
- 加快LOOP嵌套循环的一个方法
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- (转载和原创)关于解决C++“error LNK1169: 找到一个或多个多重定义的符号”的解决方法
- 已知一个抽象类Shapge,该类中有一个方法GetArea。 要求定义一个Rectangle类,继承Shape类,实现GetArea方法计算矩形面积。
- 定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个 0~100之间的随机整数,将它们存储到一维数组中,
- 4.构造方法与重载:定义一个网络用户类,要处理的信息有用户 ID、用户密码、 email 地址。在建立类的实例时把以上三个信息都作为构造函数的参数输入, 其中用户 ID 和用户密码时必须缺省时 ema
- [C++]实验十一:通过定义一个循环链表类和Josephus类
- dao 接口定义了一个方法,报错 The method xxx is undefined for the type xxx;
- C#--第九周实验--任务1--定义一个静态成员方法,该方法用于提取文件名。
- 动态定义一个方法
- C/C++:多个.cpp文件包括同一个.h头文件定义方法
- java 间隔5秒循环执行一个方法
- 定义一个静态成员方法,该方法实现字符串反转
- 在java中为什么要把main方法定义为一个static方法
- 定义一个继承Thread类,并覆盖run()方法,并在run()方法中每隔一百毫秒 打印一句话
- “error LNK1169: 找到一个或多个多重定义的符号”的解决方法
- 定义一个方法get_page(url),url参数是需要获取网页内容的网址,返回网页的内容
- 算法题,原创,定义一个整数N,不用本地变量和循环,输入N,
- 定义平面中的一个Circle类, 1编写一个无参数构造函数, 2编写一个有参的构造函数 3在主函数中调用无参构造函数生成圆的实例c1,调用有参构造函数生成圆的实例c2,调用实例方法判断c1和c2是否重
- 左循环旋转一个串的5种方法