【问题标题】:Scanning two characters for a switch case in C在 C 中扫描两个字符以查找 switch case
【发布时间】:2017-11-29 02:38:07
【问题描述】:

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

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

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

case "NF":
newFile();

【问题讨论】:

  • scanf() 格式字符串中使用%s,或在fgets() 中使用sscanf()。您将需要使用strcmp(),因为您不能在字符串上使用switch()

标签: c string char switch-statement case


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 2012-01-28
    • 2020-08-16
    • 1970-01-01
    相关资源
    最近更新 更多