2

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

这是代码:

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

1 回答 1

8

改变:

    scanf("%c", myNothing);

到:

    scanf("%c", &myNothing);

或者更好:

    myNothing = getchar();

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

于 2012-05-18T15:41:08.797 回答