在'0'的情况下代码失败 - 我不明白为什么

时间:2018-05-06 17:56:59

标签: c while-loop switch-statement

这是代码的最小形式,强调了我的问题。 代码在“退出”失败(案例'0') - 程序只是崩溃。我怀疑它与while循环有关。 无论我为退出案例选择什么字符(而不是'0'),都会出现问题。

{id:1,
 values:["a","b","c"],
 },
{id:2,
values["g"]
}

1 个答案:

答案 0 :(得分:2)

menu_option不是字符串,因此%s是错误的格式说明符。您需要%c,前缀为空格以防止将空格(包括换行符)解释为有效的字符输入。

    scanf (" %c", &menu_option);