En C , la question se pose de savoir s'il est possible de déclarer des variables de différents types dans le corps d'initialisation d'un pour la boucle. Considérons le code suivant :
for(int i=0, j=0 ...
Ceci initialise deux variables entières (i et j). Est-il possible de définir un int et un char dans ce corps d'initialisation à la place ?
Techniquement, il existe une solution de contournement, bien que non conventionnelle :
for(struct { int a; char b; } s = { 0, 'a' } ; s.a < 5 ; ++s.a) { std::cout << s.a << " " << s.b << std::endl; }
Ici, nous définissons une structure contenant à la fois un int et un char. La boucle for initialise une instance de cette structure, puis incrémente le membre int dans le corps de la boucle.
Bien que cette solution de contournement satisfasse aux exigences techniques, il convient de noter que ce modèle est généralement déconseillé en raison de son potentiel de confusion et manque de clarté par rapport à l'utilisation de variables distinctes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!