Bonjour, j'ai un peu honte de ma question : j'ai un pb avec mon switch. Voici un extrait de mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
#include<stdio.h>
#include<stdlib.h>
 
int main()
{
  const unsigned short Z=2;
  unsigned short z=0,ret;
  switch(z)
  {
    case 0 :
      ret=0;
      break;
    case Z :
      ret=Z;
      break;
    default :
      ret=4;
  }
 
  printf("ret = %u\n",ret);
  return EXIT_SUCCESS;
}
et là j'ai un pb car mon Z n'est pas constant (bien que j'ai mis le mot clé const ?). Donc j'ai modifié le code pour qu'il marche :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
#include<stdio.h>
#include<stdlib.h>
 
#define Z 2
 
int main()
{
  unsigned short z=0,ret;
  switch(z)
  {
    case 0 :
      ret=0;
      break;
    case Z :
      ret=Z;
      break;
    default :
      ret=4;
  }
 
  printf("ret = %u\n",ret);
  return EXIT_SUCCESS;
}
mais pourquoi est-ce que const unsigned short Z ne marche pas ? N'est-il pas constant ?