Bonjour,
j'ai un pb avec une syntaxe un peu caffouilleuse du "C". C'est en relation avec les expressions séparées par des virgules (comma separated instructions).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
buf[i] ^= (cpk[i] = key[i]), cpk[16+i] = key[16 + i];
 
// buf, key et cpk sont des tableau d'octets non signés (Unsigned Chars)
// i est un unsigned char

SVP, quelq'un pourrait-il me retranscrire cette instruction dans une syntaxe plus lisible (en plusieurs instructions simples bien sûr).

Pour moi ce code serait équivalent à:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
cpk[i] = key[i];
buf[i] = buf[i] ^ key[i];
cpk[16+i] = key[16 + i];
 
// sachant bien sûr que les 3 lignes restent indivisibles pour préserver leur
// effet de bords éventuel (ici yen a pas)
Qu'en pensez vous?

Cordialement