[C] i=(i==-1)? ++a-1 : i

Résolu
maje3 Messages postés 67 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
j'essai de comprendre un programme en C mais cette petite partie ci-dessous me fatigue:

...
...
typedef struct
{
char szCodMed[20];
}
stMEDICAMENT, *lpMEDICAMENT;
stMEDICAMENT stMed[30];
lpMEDICAMENT lpMed;
int i, a;
...
...
case IDOK:
i= (i==-1) ? ++a-1: i; // JE NE COMPREND PAS SURTOUT CETTE PARTIE
lpMed=&stMed[i];
GetDlgItemText(hDlg, IDC_CODMED, lpMed -> szCodMed, sizeof (lpMed -> szCodMed);
...
...

J'espere recevoir tres bientot une aide de vous. MERCI BEAUCOUP D'AVANCE
Configuration: Windows XP Internet Explorer 6.0

2 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    i = (i == -1) ? ++a - 1: i;

    équivaut à :
    if (i == -1){
      ++ a;
      i = a - 1;
    }else{
      i = a;
    }

    Bonne chance
    0
    1. loupius
       
      [C] i=(i==-1)? ++a-1 : i
      Heu, tu as sans aucun doute, voulu écrire:
      if (i == -1){
        ++ a;
        i = a - 1;
      }else{
        i = i;
      }
      ce qui peut se simplifier en:
      if (i == -1)
      {
        ++ a;
        i = a - 1;
      }
      Bonne soirée.
      0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Oui tout à fait :-) Merci de ta vigilance et ces précisions loupious !
    0