让用户选择是否退出程序

时间:2015-03-15 21:41:07

标签: c exit

我试图通过向用户提供是否循环回到开始或退出的选项来结束程序。我已经粘贴了以下程序的这一部分; ' homenumber'它应该循环回到并在程序开始时定义。

#include <stdio.h>
int main(void)
{

char option[1];

/*Asks if user wants to exit program*/
printf("Do you want to close the program? [Y/N]: ");
scanf_s("%c",&option,1);

if (option == "N" || option == "n") {
goto homenumber;
}
else if (option == "Y" || option == "y") {
    ;
        }

提前致谢。

编辑:我的问题是该程序不会让我输入“&#39;选项”的值。 - 无论什么

,它都会结束程序

1 个答案:

答案 0 :(得分:0)

你应该使option成为char而不是字符数组:

#include <stdio.h>
int main(void)
{
    ...

homenumber:

    ...

    char option;

    /* Ask if user wants to exit program */
    printf("Do you want to close the program? [Y/N]: ");
    option = 'Y';
    scanf_s("%c",&option);

    if (option == 'N' || option == 'n') {
        goto homenumber;
    } else
    if (option == 'Y' || option == 'y') {
        ;
    }

请注意,您还应该检查scanf_s的返回值。我在通话前将option设置为快速而肮脏的解决方案。使用getchar()代替scanf_s会更简单,也不会出错。

我也不会宽恕goto的使用,只是指出你遇到麻烦的实际问题。