Ich habe den ganzen Spaß verpasst, all die guten C ++ - Antworten wurden bereits veröffentlicht!
Dies ist das Seltsamste, was ich mir einfallen lassen könnte. Ich würde jedoch nicht wetten, dass es legal ist, C99: p
#include <stdio.h>
int i = 1;
int main(int argc, char *argv[printf("%d\n", i++)])
{
return (i <= 1000) && main(argc, argv);
}
Ein anderer mit ein wenig Betrug:
#include <stdio.h>
#include <boost/preprocessor.hpp>
#define ECHO_COUNT(z, n, unused) n+1
#define FORMAT_STRING(z, n, unused) "%d\n"
int main()
{
printf(BOOST_PP_REPEAT(1000, FORMAT_STRING, ~), BOOST_PP_ENUM(LOOP_CNT, ECHO_COUNT, ~));
}
Letzte Idee, gleicher Cheat:
#include <boost/preprocessor.hpp>
#include <iostream>
int main()
{
#define ECHO_COUNT(z, n, unused) BOOST_PP_STRINGIZE(BOOST_PP_INC(n))"\n"
std::cout << BOOST_PP_REPEAT(1000, ECHO_COUNT, ~) << std::endl;
}
printf
und jedes Mal zwei Nummern zu drucken, nein?