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

Résolu/Fermé
maje3 Messages postés 55 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 3 septembre 2010 - 21 sept. 2009 à 20:49
mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 - 22 sept. 2009 à 01:01
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
A voir également:

2 réponses

mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 7 802
21 sept. 2009 à 20:51
i = (i == -1) ? ++a - 1: i;

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

Bonne chance
0
[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
mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 7 802
22 sept. 2009 à 01:01
Oui tout à fait :-) Merci de ta vigilance et ces précisions loupious !
0