int main(void)
{
char four[4] = "four";
return 0;
}
जब एक सी के रूप में संकलित ++ कार्यक्रम, जी ++ रिपोर्टचार चार [4] = "चार"; इस कथन के लिए सही अर्थशास्त्र क्या हैं?
xxx.cpp: समारोह int मुख्य():
xxx.cpp: 3: त्रुटि: की सरणी के लिए प्रारंभकर्ता-स्ट्रिंग वर्ण बहुत लंबा
संकलित आ सी कार्यक्रम, जीसीसी कोई त्रुटि की रिपोर्ट जब है।
यह मेरे लिए प्रकट होता है, कि काम सही ढंग से चर में सभी 4 बाइट को कॉपी कर रहा है, जैसा कि मैंने उम्मीद की थी।
तो मेरे सवाल करने पर निर्भर करता .....
सी में मनाया व्यवहार सही है या मैं एक अपरिभाषित व्यवहार कहीं छू रहा है, या यह कुछ और पूरी तरह है?
उत्तर के साथ एक बहुत ही समान प्रश्न है जो इस प्रश्न को यहां फिट करता है: http://stackoverflow.com/questions/3216462/initializing-char-arrays-in-a-way-similar-to-initializing-string-literals –
इसे खोजने पर बधाई। हां यह इस मुद्दे पर थोड़ा सा चर्चा करता है। – EvilTeach