我想直接写一个for循环,不带任何变量。可能吗?
示例:
for (1; 1 <= 4; ++) {
printf ("Loop working\n");
}
预期输出:
Loop working
Loop working
Loop working
Loop working
最佳答案
您需要一个变量来保持计数,但您可以隐藏它。
#include <stdio.h>
#define JOIN(a, b) (a ## b)
// WARNING: don't LOOP in the same line
#define LOOP(n) for (unsigned JOIN(HIDDEN, __LINE__) = 0; JOIN(HIDDEN, __LINE__) < n; JOIN(HIDDEN, __LINE__)++)
int main(void) {
LOOP(4) {
printf("foo");
LOOP(2) printf(" bar");
puts("");
}
return 0;
}
输出
foo bar bar foo bar bar foo bar bar foo bar bar
关于c++ - 如何编写一个没有变量的for循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54671709/