c

问题描述 投票:0回答:1

我不明白为什么它给我

l
col
在此函数中未声明。

我在

srand(time(null))
中写了
main
,我已经在
rand
中的其他变量中使用了
main
,在这个函数中,这是第二次使用它。

void joueur_ordinateur(char jeton, int *a) {
  srand(time(NULL));
  do {
    int l = rand() % 9;
    int col = rand() % 9;
  } while (matrice[l][col] == '.');

  matrice[l][col] = jeton;
  for (int i = 0; i < DIMENSION; i++) {
    for (int j = 0; j < DIMENSION; j++)
      copie[i][j] = matrice[i][j];
  }

  for (int i = 0; i < DIMENSION; i++) {
    for (int j = 0; j < DIMENSION; j++) {
      capture_chaine(i, j, jeton, a);
    }
  }

  printf("\n");
}
c variables random
1个回答
0
投票

不知道为什么它给我

l
col
在此函数中未声明。

l, col
只存在于
do
块中。

  do {
    int l = rand() % 9;
    int col = rand() % 9;
  } while (matrice[l][col] == '.');

在函数开头定义

l, col

void joueur_ordinateur(char jeton, int *a) {
  srand(time(NULL));
  int l, col;
  do {
    l = rand() % 9;
    col = rand() % 9;
  } while (matrice[l][col] == '.');

鉴于“我已经在 main 中写了 srand(time(null))”,所以在

joueur_ordinateur()
中不需要它。

void joueur_ordinateur(char jeton, int *a) {
  // srand(time(NULL));
  int l, col;
  ...
© www.soinside.com 2019 - 2024. All rights reserved.