Zitat von
Luckie:
Das war das eine und das andere war die Schleife, in deren Kopf zwei Variablen deklariert werden, nämlich i und j. Das kannte ich auch noch nicht.
Die sind dort nicht deklariert, denn das ist nicht erlaubt (jedenfalls nicht mehr als eine - eine ist in C99 und C++ erlaubt). Die werden da nur benutzt. Und das ist übrigens in allen drei mit Semikolon abgetrennten Teilen erlaubt. Man hätte genauso gut auch das machen können:
Code:
// ...
PBYTE pbHexMac = (PBYTE) pulMac;
//
// Convert the binary MAC address into human-readable
//
for (i = 0, j = 0; i < ulLen - 1; ++i, ++pbHexMac) {
j += sprintf (szMac + j, "%02X:", *pbHexMac);
}
// ...
... oder eben eine Variation davon.