你会如何用C ++做到这一点?例如,如果用户按下ESC或“q”或“Q”,我试图触发程序退出。
我已经尝试过寻找它,但我在C ++中找不到它的语法。我知道如何用if-else来做,但是有可能用switch - case吗?当然我可以创建一个函数并从两个单独的case中调用它,但是有没有办法通过组合case语句来完成它?
例如,这就是我正在寻找的(当然不起作用):
void keyboard( unsigned char key, int x, int y )
{
switch( key )
{
case ( 27 || 'q' || 'Q' ):
exit( 0 );
break;
case 'a': ...
case 'b': ...
}
}
答案 0 :(得分:35)
案件不间断地落下:
case 27: //could be 27
case 'q': //could be 27 or 'q'
case 'Q': //could be 27, 'q', or 'Q'
exit(0);
break;
答案 1 :(得分:1)
我相信它只是
switch(key){
case 'a': case 'b':
/*code*/
break;
...
案例A和B都将执行相同的代码。
答案 2 :(得分:0)
void keyboard( unsigned char key, int x, int y )
{
switch( key )
{
case 027:
case 'q':
case 'Q':
exit( 0 );
break;
case 'a': ...
case 'b': ...
}
}
答案 3 :(得分:0)
语法变为
void keyboard( unsigned char key, int x, int y )
{
switch( key )
{
case 27:
case 'q':
case 'Q':
exit( 0 );
break;
case 'a': ...
case 'b': ...
}
}