int main(void)
{
char four[4] = "four";
return 0;
}
, G ++char dörtlü [4] = "dört"; Bu ifadenin doğru semantiği nedir? bir C++ programı derlenmiş
xxx.cpp rapor: işlev int ana():
xxx.cpp: 3: hatası: dizisi için başlatıcı dizgisi karakter sayısı çok uzun
Bir C programı derlendiğinde, GCC hata bildirmez.
Görünüşe göre, atama beklediğim gibi 4 baytlık bir değişkeni doğru şekilde kopyalıyor.
Benim soru
, C gözlenen davranış doğru mu yoksa bir yere tanımlanmamış bir davranış dokunuyorum ..... aşağı kaynar ya da tamamen başka bir şeydir?
Burada bu soruya verilen yanıtlara çok benzer bir soru var: http://stackoverflow.com/questions/3216462/initializing-char-arrays-in-a-way-similar-to-initializing-string-literals –
Bunu bulmak için tebrikler. Evet Bu sorunu biraz tartışıyor. – EvilTeach