पढ़ने के बाद छिपे हुए सुविधाओं और सी ++ / एसटीएल के अंधेरे कोनों पर comp.lang.c++.moderated
, मैं पूरी तरह से हैरान था कि निम्नलिखित स्निपेट संकलित और विजुअल स्टूडियो 2008 और जी ++ 4.4 दोनों में काम किया।
यहाँ कोड है:
#include <stdio.h>
int main()
{
int x = 10;
while (x --> 0) // x goes to 0
{
printf("%d ", x);
}
}
आउटपुट:
9 8 7 6 5 4 3 2 1 0
मुझे लगता है कि यह C है, क्योंकि यह GCC में भी काम करता है। यह मानक में कहां परिभाषित किया गया है, और यह कहां से आया है?
#define upto ++<
, #define downto -->
। यदि आप बुरा महसूस कर रहे हैं, तो आप (और ) कर सकते हैं #define for while(
और ओह, मानवता लिख सकते हैं ...#define do ) {
#define done ;}
for x downto 0 do printf("%d\n", x) done
++
या--
पहले एक जगह देखी है ...