在C中扫描开关盒的两个字符

时间:2017-11-29 02:38:08

标签: c string char switch-statement case

所以我正在编写一个文本编辑器的程序,并且我设置了一个switch语句,这样当有人输入特定字符时,它将调用一个函数。例如,如果他们输入'?'它将通过调用函数help()来显示帮助菜单

scanf("%c", &choice);
switch(choice)
{
case '?':
help();

我的问题是有些选择有两个字符,例如要创建一个新文件,他们必须输入字符NF。如何在案例中实现这一点?我需要 ” ”?是否应该选择扫描为字符串而不是字符?

case "NF":
newFile();

1 个答案:

答案 0 :(得分:1)

如果您有一个角色,则可以使用switch语句根据其值做出决定。因为它的实际值是一个单字节无符号整数。但是这里有两个字符,你不能使用switch。 您必须使用if..else..else..

if (!strcmp(choice, "NF")) {
    // deal with NF
} else if (!strcmp(size, "SomethingElse")) {
    // deal with it
} // and so on