我要求创建一个程序的问题,用户要输入一个整数值(1到4之间),并根据输入生成一个特定的输出。
当输入的值不在1和4之间时,它还必须向用户提供错误。
我设法使用if和else语句编写它,但是,我想知道是否可以仅使用if语句来编写它。
答案 0 :(得分:1)
有很多方法可以给这只猫上皮!虽然不使用else语句就是其中之一,设置这样的约束似乎是不必要的,并且使代码可读性降低,并且对else
实际上做任何事情都等同于if ( ! resp_1 == 1 ||... )
也注意到你是多余的在if语句中检查resp_1是否等于1或2或3或4,然后再单独检查并打印文本。
我的建议是使用一个开关,它是可读的,并且可以快速实现
switch(resp_1){
case(1): /*print*/ break;
case(2): /*print*/ break;
case(3): /*print*/ break;
case(4): /*print*/ break;
defualt: /*Print if not 1,2,3,4*/
}
答案 1 :(得分:1)
如果您必须仅使用if
语句,那么只需将它们全部链接起来。
if (resp_1 == 1) {
// Print output for 1
} else if (resp_1 == 2) {
// Print output for 2
} else if (resp_1 == 3) {
// Print output for 3
} else if (resp_1 == 4) {
// Print output for 4
} else {
// Print error
}
if-else语句(确切地)执行一个分支。在这里,每个else分支都是另一个if-else语句。因此,只会执行一个分支;有效输入的分支之一,或最后一个全部分支。
虽然可以使用一个标志并且在没有单个else
条款的情况下编写它,但是IMO对于你想要发生的事情要清楚得多。编写代码时,请始终选择最能捕获您意图的选项。两周之后,如果代码需要澄清,那么首先要更容易向自己解释。