Tips for golfing in C में one of the answers में, मैं इस कोड (ungolfed संस्करण) को देखा: (? लेकिन जो कोड गोल्फ में परवाह करता है)यदि मैं वैश्विक दायरे में आकार के बिना सरणी घोषित करता हूं तो मुझे क्या मिलेगा?
s[],t;
main(c){
for(scanf("%*d "); ~(c=getchar()); s[t++]=c)
putchar(s[t]);
}
मुझे लगता है कि उपरोक्त कार्यक्रम दर्शाती यूबी। लेकिन जिस चीज को मैं समझ नहीं पा रहा हूं वह s[]
वैश्विक दायरे में है। मुझे पता है कि जब वैश्विक चर का प्रकार निर्दिष्ट नहीं होता है, तो यह int
पर डिफ़ॉल्ट होता है।
#include <stdio.h>
int s[];
int main(void)
{
printf("Hello!");
}
हालांकि यह एक चेतावनी का उत्सर्जन करता है:
prog.c:23:5: warning: array 's' assumed to have one element [enabled by default]
int s[];
^
- उपरोक्त कार्यक्रम में
s
क्या है मैं एक छोटे से प्रोग्राम है जो आश्चर्यजनक रूप से संकलित बनाया? क्या यहint*
या कुछ और है? - क्या यह कहीं भी उपयोगी होगा?
's' तत्वों की कार्यान्वयन परिभाषित संख्या के साथ' int' की एक सरणी है? – alk
@alk, तो, एक कार्यान्वयन 's' के लिए कुछ आकार आवंटित करता है? –
शायद '0' या' 1'? – alk