Tips for golfing in C yılında one of the answers, ben bu kodu (ungolfed versiyonu) gördü: (? Ama kim kod golf umurunda) Ben yukarıdaki program UB sergiler düşünüyorumGenel kapsamda boyutsuz bir dizi bildirirsem ne alırım?
s[],t;
main(c){
for(scanf("%*d "); ~(c=getchar()); s[t++]=c)
putchar(s[t]);
}
. Ama anlamadığım şey, global kapsamda s[]
. Genel değişken belirtilmemişse, varsayılan değer olarak int
olduğunu biliyorum.
#include <stdio.h>
int s[];
int main(void)
{
printf("Hello!");
}
o bir uyarı yayar olsa:
prog.c:23:5: warning: array 's' assumed to have one element [enabled by default]
int s[];
^
- yukarıdaki programda
s
nedir ben şaşırtıcı derler küçük bir program oluşturdu?int*
veya başka bir şey mi? - Bu herhangi bir yerde yararlı olacak mı?
's', bir öğe tanımlanmış uygulama sayısı ile bir 'int 'dizisidir? – alk
@alk, Yani, bir uygulama 's' için bazı boyut ayırır? –
Muhtemelen '0' veya' 1'? – alk