40 yıllık yoğurtçuyum böyle 'case' görmedim.

Başlatan bocek, 26 Aralık 2014, 15:37:25

bocek

Evet, uzun süredir C/C++ programlama ile uğraşır dururum, C dilinde case'in böyle kullanımını ilk defa gördüm.

    switch( state ){
      case 0 ... 15:                                          //  0 ... 15
                                        val = state;
                                        break;
      case 16 ... 31:                               // 16 ... 31
                                        val = DIMM_STEPS-1;
                                        break;
      case 32 ... 47:                             // 32 ... 47
                                        val = DIMM_STEPS*3-1-state;
                                        break;
      default:
                                        val = 0;
    }


Varmış böyle bir şey. Hala şoktayım :)

http://docs.oracle.com/cd/E19205-01/820-7598/giphi/index.html
http://stackoverflow.com/questions/5327896/how-to-use-ellipsis-in-cs-case-statement
1 ya da 0. işte 'bit'ün mesele..

LukeSkywalker


X-Fi

Hocam Keil derlemiyor bunu C99 standardında yok.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

mir_as82

Hocam hem kod güzel hem senin başlık güzel:). Konyalısınız galiba.

pea

gcc'nin özel bir eklentisi imiş. Standarta dahil değil.

Bir an aldığım/okuduğum derslerden şüphe etmiştim.

mir_as82

Hocam o zaman o şekilde kod yazmak sıkıntılı. Taşınabilirliği azaltıyor.

bocek

Evet verdiğim stackoverflow linkinde de bahsetmiş birisi bundan,

"non-standard extension of gcc" demiş. c99'da bunu bulamazsınız demiş. Zaten kod örneğini avr-gcc için yazılmış bir uygulamadan almıştım.

Not: Konyalı değilim.
1 ya da 0. işte 'bit'ün mesele..

hasankara

ben şöyle yapıyordum;
case 0:
case 1:
case 2:
// 3 durumdada olması istenen şeyler
break;

ensarix