2

入力が1文字で、出力に「バイナリコード」が表示されるという私の以前の実験を見ていましたが、何かがうまくいかず、問題がどこから始まったのかわかりません。

これはコードです:

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 に答える