PDA

View Full Version : مبتدی: دستور switch



smemamian
چهارشنبه 08 آذر 1391, 15:12 عصر
سلام

در یک کتاب نوشته بود " در ساختار switch نمی توان از عبارات منطقی یا رابطه ای استفاده کرد. "

ممنون میشم توضیحی بدین .

Ananas
چهارشنبه 08 آذر 1391, 15:20 عصر
سلام.
لابد منظورش این بوده که case های switch باید کاملا مشخص و ثابت باشن و در زمان اجرا مقدارشون تغییر نکنه. پس نمیتوان از عبارت های منطقی یا رابطه ای که بر حسب شرایط ممکنه مقدارشون عوض بشه، استفاده کرد.

مسعود اقدسی فام
چهارشنبه 08 آذر 1391, 16:06 عصر
دو جا رو می شه بررسی کرد.

یکی این حالت:




switch ( i < 5 )
{
.
.
.
}




این حالت چندان قابل قبول نیست. البته نه اینکه نشه استفاده کرد. اگه بنویسید مشکلی نیست. حداقل کامپایلرهای امروزی اجازه می دن. ولی خب نتیجه اون عبارت true یا false هستش. پس case true و case false بیشتر نمی تونید بنویسید. ساختار switch برای حالتایی هستش که چندین و چند انتخاب دارید. وگرنه درست و نادرست رو با if و else هم می شه چک کرد.

یکی هم این حالت:




switch ( i )
{
case ( i > 2 && i < 5 ):
.
.
.
break;
case j:
.
.
.
break;

}




عبارت مقابل case باید ثابت باشه. نمی تونه عبارتی باشه که وابسته به یه متغیر هستش. حالا می خواد عبارت ریاضی باشه یا شرط و غیره. این حالت کلا اجازه نداریم استفاده کنیم.