क्या आप 'एक प्रोग्राम' के बारे में सोच सकते हैं जो 'सी और सी ++ कंपाइलर्स के लिए अलग-अलग आउटपुट' देता है (फिर भी एक ही भाषा के तहत लगातार आउटपुट देता है)?विभिन्न कंपाइलर के लिए अलग-अलग आउटपुट - सी और सी ++
उत्तर
इस कार्यक्रम सी में 12
या पैदा करता ++ C99, और 6
C89 में:
#include <stdio.h>
int main()
{
int a = 12//**/2;
;
printf("%d\n", a);
return 0;
}
हालांकि सटीक, मैं इसे एक हैक के रूप में और अधिक देखता हूं :) हालांकि अच्छा है। –
यह वास्तव में सवाल का जवाब नहीं देता है, हालांकि, क्या यह करता है? यह सी और सी ++ में एक ही आउटपुट उत्पन्न करता है (सी 99, आखिरकार, वर्तमान सी मानक) है। –
@ किथ थॉम्पसन: हां, [ईसीआईके का उत्तर] (http://stackoverflow.com/questions/5467576/different-output-for-different-compiler-c-and-c/5469636#5469636) के लिए एक और सटीक मिलान है सवाल। – caf
int class;
C++ में संकलन नहीं होगा और सी
वाह !! कई विचार एक ही स्थान पर ... अच्छा .. – Aditya369
प्रश्न प्रोग्राम आउटपुट के बारे में था, संकलक आउटपुट नहीं। –
int main() { return sizeof 'a'; }
पूरी तरह संक्षेप में! – GManNickG
लेकिन पूरी तरह से पोर्टेबल नहीं है। 'sizeof 'a'' सी में 1 हो सकता है यदि आकार (int) == 1' (जो केवल तभी संभव है जब' CHAR_BIT> = 16') हो। –
Incompatibilities between ISO C and ISO C++
एक सामान्य उदाहरण sizeof('A')
, जो आमतौर पर सी में 4 लेकिन हमेशा 1 सी में है ++ है में संकलन होगा, क्योंकि चरित्र 'A'
जैसे स्थिरांक में int
टाइप सी है लेकिन सी ++ में char
टाइप करें:
#include <stdio.h>
int main(void)
{
printf("%d\n", sizeof('A'));
}
ऑपरेटर 'sizeof' रिटर्न' size_t' 'int' नहीं। तो आपके कोड में त्रुटि है। http://stackoverflow.com/questions/940087/whats-the-correct-way-to-use-printf-to-print-a-size-t – UmmaGumma
और 'sizeof (int)' हो सकता है 1. –
typedef char X;
int main() {
struct X { double foo; }
printf("%d\n", sizeof(X));
return 0;
}
गुम ' # शामिल करें
wikipedia से, प्रत्येक भाषा में लगातार उत्पादन का उत्पादन करने के लिए बदल:
extern int T;
int size(void)
{
struct T { int i; int j; };
return sizeof(T) == sizeof(int);
/* C: return 1
* C++: return 0
*/
}
यह भाषा के आधार पर एक अलग स्थिति देता है, लेकिन यह किसी भी * आउटपुट * का उत्पादन नहीं करता है। –
#include <stdio.h>
int main(void)
{
#ifdef __cplusplus
puts("C++");
#else
puts("C");
#endif
return 0;
}
प्रीप्रोसेसर भाषा का हिस्सा है? – harper
@harper: हाँ। यह सी 99 मानक की धारा 6.10 है, सी ++ मानक की धारा 16। –
- 1. कंपाइलर आउटपुट भाषा - एलएलवीएम आईआर बनाम सी
- 2. "xor eax, ebp" सी ++ कंपाइलर आउटपुट
- 3. "जी ++" और "सी ++" कंपाइलर
- 4. सी # कंपाइलर
- 5. सी # संपादक और कंपाइलर वरीयता
- 6. सी ++: कंपाइलर और लिंकर कार्यक्षमता
- 7. मुफ्त पीआईसी सी कंपाइलर
- 8. सी कंपाइलर?
- 9. सी # कंपाइलर
- 10. क्या विभिन्न कंपाइलर झंडे
- 11. सी कंपाइलर संरचना ऑप्टिमाइज़ेशन
- 12. विभिन्न सी ++ कंपाइलर्स
- 13. सी ++ और आर इंटरफ़ेस, आउटपुट
- 14. विभिन्न उबंटू संस्करणों के लिए संकलित सी ++
- 15. पीआईसी 16 सी कंपाइलर
- 16. सी # और विभिन्न देशों के लिए वर्तमान स्थानीय समय
- 17. एलएसबी सी ++ कंपाइलर
- 18. सी # कंपाइलर:/nostdlib विकल्प
- 19. माइक्रोचिप सी 18 कंपाइलर
- 20. पोर्टेबल सी # आईडीई/कंपाइलर?
- 21. इंटेल सी ++ कंपाइलर?
- 22. सी ++ "कंपाइलर त्रुटि
- 23. एक अच्छा सी कंपाइलर
- 24. विजुअल सी ++ कंपाइलर
- 25. कंपाइलर सी से ब्रेनफक (प्रोफेसर को परेशान करने के लिए)?
- 26. टिनी सी कंपाइलर (टीसीसी) और विंसॉक?
- 27. स्वरूपण सी ++ कंसोल आउटपुट
- 28. सी ++ कक्षाओं के लिए कंपाइलर स्टोर विधियां कहां है?
- 29. सी # में ओपन सोर्स सी कंपाइलर?
- 30. सी कैबल पैकेज में सी कंपाइलर चयन
यह वह जगह है एक बेवकूफ साक्षात्कार प्रश्न –