在c ++中的一行中有多个'if ... else ...'语句

ric*_*ysy 1 c++ if-statement

如果我想将这段代码放到一行怎么办?

if (count >= 0 && count <= 199) {
        return 1;
    } else if (count >= 200 && count <= 399) {
        return 2;
    } else if (count >= 400 && count <= 599) {
        return 3;
    } else if (count >= 600 && count <= 799) {
        return 4;
    } else {
        return 5;
    }
Run Code Online (Sandbox Code Playgroud)

我只想知道这几行代码是否有任何捷径.

Sco*_*ter 6

return ( count >= 0 && count <= 799 ) ? (1 + count / 200) : 5;

也就是说:如果count在范围内,则返回每个跨度为200的连续值,如果超出范围,则返回5.