switchの条件式について
Posted: 2016年5月06日(金) 21:12
switchの条件式についてです。
switch()の()に入る条件式で
~は1、~は2と複数区分を作りたいです。
よろしくお願いします。
switch()の()に入る条件式で
~は1、~は2と複数区分を作りたいです。
よろしくお願いします。
#include <stdio.h>
int main(void) {
int x = 0;
if (scanf("%d", &x) != 1) {
puts("input error");
return 1;
}
switch( 0 <= x && x <= 100 ? 1 :
101 <= x && x <= 300 ? 2 :
500 <= x && x <= 650 ? 3 :
-1) {
case 1:
puts("1");
break;
case 2:
puts("22");
break;
case 3:
puts("333");
break;
default:
puts("?????");
break;
}
return 0;
}
1, 2, 3のいずれでもない、という意味だと思います。つまりなつかぜ さんが書きました: switchの()内最後のー1は何を意味しているのですか?
ってこと。くだんのswitch文で-1のところを10にすれば解決すると思います。なつかぜ さんが書きました:またその他は10という(switch文のdefaultのような)式は作れますか?
その通りです。box さんが書きました:1, 2, 3のいずれでもない、という意味だと思います。つまりなつかぜ さんが書きました: switchの()内最後のー1は何を意味しているのですか?ってこと。くだんのswitch文で-1のところを10にすれば解決すると思います。?なつかぜ さんが書きました:またその他は10という(switch文のdefaultのような)式は作れますか?