switch
シンタックス確認して、改めて思ったけど、switchの定義は以下。
switch(式)文
この文には何の制限もない。caseもdefaultもbreakも不要。だからかなり奇っ怪な文が書ける。
C言語覚えたての頃、switch文にかなり違和感があったけど、ある意味当然だったのかも。
以下none senseだが、syntax 適合コード
#include <stdio.h> #include <stdlib.h> int main(int argc, char **argv) { int i; if (argv[1] != NULL) { i = atoi(argv[1]); } else { i = 0; } switch (i) { do { case 10: if (i < 0) { printf("lower than 0\n"); } else { printf("biger than or equal 0\n"); } } while(i--); } return 0; }