我正在看我的一个较早的实验,其中您的输入是一个字符,输出将显示“二进制代码”,但是出了点问题,我似乎无法理解问题的开始。

这是代码:

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}"

最佳答案

更改:

    scanf("%c", myNothing);


至:

    scanf("%c", &myNothing);


或者更好:

    myNothing = getchar();


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

09-12 18:09