【问题标题】:Char type in a switch statementswitch 语句中的字符类型
【发布时间】:2012-05-26 04:56:02
【问题描述】:

我正在查看我早期的一个实验,其中您的输入是一个字符,输出将显示“二进制代码”,但出现了问题,我似乎无法找到问题的根源。

这是代码:

char myNothing = 0;

        scanf("%c", myNothing);
        switch (myNothing)
        {
            case 'a':
                NSLog(@"01100001");
                break;
            case 'b':
                NSLog(@"01100010");
                break;
            case 'c':
                NSLog(@"01100011");
                break;
            case 'd':
                NSLog(@"01100100");
                break;
            default:
                NSLog(@"Unknow character");
                break;
        }

        return 0;

这是在输入中插入任何字符时的输出:

Run Command: line 1:   607 Segmentation fault: 11  ./"$2" "${@:3}"

【问题讨论】:

    标签: objective-c macos char switch-statement


    【解决方案1】:

    变化:

        scanf("%c", myNothing);
    

    到:

        scanf("%c", &myNothing);
    

    或者更好:

        myNothing = getchar();
    

    另外,请确保您已启用编译器警告。

    【讨论】:

    • 哇,这是一个愚蠢的错误,无论如何感谢您的注意。
    猜你喜欢
    • 2022-08-17
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    • 2019-04-12
    • 2014-11-01
    • 2018-10-02
    • 1970-01-01
    相关资源
    最近更新 更多