我試圖將字符串數組的位置作爲int數組的參數傳遞,並且我得到了無效的間接符作爲錯誤。我想計算我隨機生成並抓到的小精靈的頻率。我做了一些相當多的研究,但仍然無法理解它的概念。附:我的講師正在教C的過時版本,以便介紹printf(s)。將字符數組轉換爲值並將其放入C中的int數組中
int encounter() {
//list of pokemons
char pokemon[5][10] = {"Magikarp", "Zubat", "Eevee", "Magmar", "Pikachu"};
int type[5] = {0,0,0,0,0};
int i;
int a=0;
//random number generator from 0 - 4
srand(time(NULL));
i = (rand() % 5);
//prints out the pokemon name
printf("A wild %s appeared! \n", pokemon[i]);
type[pokemon[i]] += 1;
for(a=0; a<6; a++) {
printf(type[a]);
}
return 0;
}
「***我的講師教的C過時的版本,所以介意的printf(S)。***」 是什麼意思呢? –
您使用的C版本不能過時:您正在使用內聯註釋,直到C99時纔會使用內置註釋。 – yellowantphil
間接問題在這裏是'type [pokemon [i]] + = 1;'。用簡單的'type [i] + = 1;'替換那個代碼,因爲pokemon [i]是一個char數組。 –