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

เหตุใดจึงไม่สามารถประกาศตัวแปรในคำสั่ง switch ใน C/C++ ได้


สามารถประกาศตัวแปรได้ในคำสั่ง switch คุณเพียงแค่ต้องประกาศและใช้ภายในขอบเขตใหม่ในคำสั่ง switch ตัวอย่างเช่น

ตัวอย่าง

#include<iostream>
using namespace std;

int main() {
   int i = 10;
   switch(i) {
      case 2:
      //some code
      break;
      case 10:{
         int x = 13;
         cout << x;
      }
   }
   return 0;
}

ผลลัพธ์

สิ่งนี้จะให้ผลลัพธ์:

13

หากคุณพยายามประกาศตัวแปรใน open คุณอาจได้รับข้อผิดพลาดเนื่องจากการ Jumping to a case label เหมือนกับการใช้ goto ดังนั้นคุณจะไม่ได้รับอนุญาตให้ข้ามการประกาศตัวแปรในเครื่องในขณะที่คุณอยู่ในขอบเขตเดียวกัน และอาจนำไปใช้ที่ไหนสักแห่งเพิ่มเติมในขอบเขตนั้น