在Windows中,可以在C中使用结构化异常处理来编写伪循环,打印从1到1000的所有数字,如下所示:
int n = 0;
__try {
*(int *)0 = 0;
}
__except(printf("%i\n", ++n), n < 1000 ? -1 : 1) {
}
我想知道在C / C ++中是否还有其他方法可以创建一个循环,如果您在代码中搜索通常的可疑关键字for
,while
和{{ 1}}。
答案 0 :(得分:2)
在C ++中,一个简单的lambda就可以做到:
std::function<void(int,int)> print = [&](int from, int to)
{
std::cout << from << " ";
if ( from < to ) print(++from, to);
};
print(1, 1000);
它会打印从1
到1000
的所有整数。并且它不使用for
,while
或goto
。