0

私の仕事では、数字を画面に出力し、それらを特定の文字にデコードする必要があります。このコードでは、理解できるようにシンプルにするために文字 al のみを使用しています。

私が抱えている問題は、たとえば、a である配列の最初のエントリに対応する数値 0 を入力すると、a を取り出して bl を出力することです。

数字の 0 を入力すると、コードが a のみを画面に出力するようにするにはどうすればよいですか?

#include <stdio.h>

int main()
{
char code[] = "abcdefghijkl";
int i, j, k;
printf("how many letters does your code contain?: ");
scanf("%d", &j);
for(i=0; i<j; ++i){
    printf("enter a number between 0 and 11\n");
    scanf("%d", &k);
    printf("%s\n", &code[k]);
}
}
4

3 に答える 3

4

その場所の文字だけを印刷するので、変更します

printf("%s\n", &code[k]); 

printf("%c\n", code[k]);

また、読み込んだ値kが> = 0 && <11であることを確認する必要があります。そうでない場合は、範囲外の配列にアクセスします。

于 2012-04-11T09:17:38.390 に答える
0

%s形式指定子は文字列の印刷に使用されます。画面に文字を印刷する指定子を使用する必要があり%cます。

于 2012-04-11T09:18:54.850 に答える
0

printf("%c\n", code[k]); それ以外のprintf("%s\n", &code[k]);

于 2012-04-11T09:22:52.930 に答える