Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C เช็คว่า string ที่กำหนดเป็น Keyword หรือไม่?


คำหลัก เป็นคำที่กำหนดไว้ล่วงหน้าหรือสงวนไว้ซึ่งมีอยู่ในไลบรารี C ++ ที่มีความหมายคงที่และใช้เพื่อดำเนินการภายใน ภาษา C++ รองรับคำสำคัญมากกว่า 64 คำ

ทุก คำหลัก มีอยู่ในตัวพิมพ์เล็กเช่น auto, break, case, const, continue, int เป็นต้น

32 คำหลักในภาษา C++ ซึ่งมีให้ในภาษา C ด้วย

อัตโนมัติ ดับเบิ้ล int โครงสร้าง
พัง อื่นๆ ยาว สวิตช์
กรณี enum ลงทะเบียน typedef
แผนภูมิ ภายนอก คืนสินค้า สหภาพแรงงาน
const ลอย สั้น ไม่ได้ลงนาม
ไปต่อ สำหรับ ลงชื่อ เป็นโมฆะ
ค่าเริ่มต้น ไปที่ ขนาดของ ผันผวน
ทำ ถ้า คงที่ ในขณะที่

คำสงวนเหล่านี้เป็นคำสงวน 30 คำที่ไม่ได้อยู่ใน C แต่เพิ่มใน C++

asm ไดนามิก_cast เนมสเปซ reinterpret_cast
บูล ชัดเจน ใหม่ static_cast
จับ เท็จ ตัวดำเนินการ แม่แบบ
คลาส เพื่อน ส่วนตัว นี่
const_cast อินไลน์ สาธารณะ ขว้าง
ลบ เปลี่ยนแปลงได้ ได้รับการปกป้อง จริง
ลอง พิมพ์ดีด พิมพ์ชื่อ ใช้
ใช้ ใช้ wchar_t


Input: str=”for”
Output: for is a keyword

คำอธิบาย

  • คีย์เวิร์ดคือคำสงวนซึ่งไม่สามารถใช้เป็นชื่อตัวแปรในโปรแกรมได้

  • มีคีย์เวิร์ด 32 คำในภาษาซี

เปรียบเทียบสตริงกับคีย์เวิร์ดแต่ละคำหากสตริงเหมือนกัน สตริงจะเป็นคีย์เวิร์ด

ตัวอย่าง

#include <stdio.h>
#include <string.h>
int main() {
   char keyword[32][10]={
      "auto","double","int","struct","break","else","long",
      "switch","case","enum","register","typedef","char",
      "extern","return","union","const","float","short",
      "unsigned","continue","for","signed","void","default",
      "goto","sizeof","voltile","do","if","static","while"
   } ;
   char str[]="which";
   int flag=0,i;
   for(i = 0; i < 32; i++) {
      if(strcmp(str,keyword[i])==0) {
         flag=1;
      }
   }
   if(flag==1)
      printf("%s is a keyword",str);
   else
      printf("%s is not a keyword",str);
}

ผลลัพธ์

which is a keyword