0

私のインストラクターは私に次の機能を与えます。だからあいまいさで私を責めないでください笑

void step_step_step(char *first, char *second, char *third)
{
    if (third[3] == second[2] + 8 && second[2] == first[1] + 8)
        printf("8: Illinois\n");
    else
                printf("8: ERROR\n");
}

私はこの方法で関数を呼び出そうとします:

char *p8_1 = (char*) malloc(sizeof(char)*11);
    char *p8_2 = (char*) malloc(sizeof(char)*11);
    char *p8_3 = (char*) malloc(sizeof(char)*11);
    p8_1[9] = 'u';
    p8_2[2] = p8_1[9];
    p8_2[10] = p8_1[9];
    p8_3[3] = p8_2[10];
    step_step_step(p8_1, p8_2, p8_3);

そして、印刷エラーが続きます。ここで何が間違っていますか?私の他のソリューションではうまくいかない理由がわかりません:

p8_2[2] = p8_1[1] + 8;
p8_3[3] = p8_2[2] + 8;
step_step_step(p8_1, p8_2, p8_3);
4

3 に答える 3