0

无论出于何种原因,运行此代码都会打印出每个字母的正确值,并将第一个值添加到得分中,但是,当它添加第二个值时,出现了问题,它添加了一个看似随机的数字。

values() 是一个函数,它为数组 lValues 中的每个整数分配一个设定值,用于确定 wordCur 的总值,它是一个字符串。

int calcScore(char wordCur) {
    int score = 0;
    int conv;
    int wordLen = strlen(wordCur);
    int i;
    int *lValues[26];
    values(lValues);

    for (i = 0; i < wordLen; i++){
        conv = (int)wordCur[i] - 65;
        score += lValues[conv];
        printf("%d\n", lValues[conv]);
    }
    printf("\n%d\n", score);



return score;
}
4

1 回答 1

6

你的问题是:

int *lValues[26];

声明一个指针数组。

score += lValues[conv];

添加指针而不是地址(指针)

于 2012-09-14T07:29:36.923 回答