Mengapa pembolehubah C/C++ tidak boleh bermula dengan nombor?

王林
Lepaskan: 2023-08-25 14:45:09
ke hadapan
1870 orang telah melayarinya

Mengapa pembolehubah C/C++ tidak boleh bermula dengan nombor?

Dalam C/C++, nama pembolehubah boleh mengandungi huruf, nombor dan garis bawah (_) aksara. Terdapat beberapa kata kunci dalam bahasa C/C++, kecuali kata kunci tersebut, semuanya dianggap sebagai pengecam. Pengecam ialah nama pembolehubah, pemalar, fungsi, dll.

Kami tidak boleh menentukan pengecam bermula dengan nombor kerana pengkompil mempunyai tujuh peringkat berikut.

  • Analisis leksikal
  • Analisis sintaks
  • Analisis semantik
  • Penjanaan kod perantaraan
  • Pengoptimuman kod
  • Penjanaan kod
  • Sokongan nombor di atas
Nombor simbol

Ini kerana pengkompil mengelirukan sama ada nombor atau pengecam sehingga ia sampai ke abjad mengikut nombor. Jadi pengkompil perlu berundur ke peringkat analisis leksikal yang tidak disokong. Pengkompil seharusnya dapat mengenali token sebagai pengecam atau literal selepas melihat aksara pertama.

Berikut ialah contoh yang menunjukkan pengisytiharan pembolehubah bahasa C.

Contoh

#include <stdio.h>
int main() {
   int 5s = 8;
   int _4a = 3;
   int b = 12;
   printf("The value of variable 5s : %d", 5s);
   printf("The value of variable _4a : %d", _4a);
   printf("\nThe value of variable b : %d", b);
   return 0;
}
Salin selepas log masuk

Atur cara di atas menyebabkan ralat "Sufiks 's' tidak sah pada pemalar integer" kerana pembolehubah bermula dengan 5. Jika kami mengalih keluarnya maka program akan berfungsi dengan baik.

Sampel program baharu yang ditunjukkan adalah seperti berikut.

Contoh

Demonstrasi langsung

#include <stdio.h>
int main() {
   int _4a = 3;
   int b = 12;
   printf("The value of variable _4a : %d", _4a);
   printf("\nThe value of variable b : %d", b);
   return 0;
}
Salin selepas log masuk
Output

Output program di atas adalah seperti berikut. rreeee🎜

Atas ialah kandungan terperinci Mengapa pembolehubah C/C++ tidak boleh bermula dengan nombor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!