मुझे उत्सुकता है कि मैं इस तरह प्रारूपित लगभग सभी सी मैक्रोज़ क्यों देखता हूं:सी मैक्रो/# इंडेंटेशन परिभाषित?
#ifndef FOO
# define FOO
#endif
या यह:
#ifndef FOO
#define FOO
#endif
लेकिन यह कभी नहीं:
#ifndef FOO
#define FOO
#endif
(इसके अलावा, vim =
ऑपरेटर केवल पहले दो को सही मानता है।)
क्या यह कंपेलरों के बीच पोर्टेबिलिटी मुद्दों के कारण है, या यह सिर्फ एक मानक अभ्यास है?
और अतिरिक्त जलन (जैसे प्रश्न में उल्लिखित ओपी की तरह) है कि संपादकों के पास अक्सर अपना विचार होता है कि प्रीप्रोसेसर सशर्त ब्लॉक कैसे होना चाहिए (या नहीं)। –
पुराना वैक्स सी कंपाइलर (लगभग 1 9 86) एक त्रुटि फेंक देगा अगर प्रीप्रोसेसर निर्देश में पहले कॉलम में '#' नहीं था। –