J'ai toujours pensé que si je déclare ces trois variables, elles auront toutes la valeur 0.
int column, row, index = 0;
Mais je constate que seul l'indice est égal à zéro et que les autres sont des déchets comme 844553 et 2423445.
Comment puis-je initialiser toutes ces variables à zéro sans déclarer chaque variable sur une nouvelle ligne ?
43 votes
Attention à ces déclarations multi-variables d'une ligne. Il est plus facile que vous ne le pensez de déclarer un pointeur int suivi d'une liste d'entiers réguliers (
int* a, b, c;
ne fait pas ce qu'il semble faire).4 votes
Il n'y a que trois variables, mec, écris
=0
pour chacun d'eux dans leurs définitions. Et, si vous voulez vraiment de nombreuses variables, essayez un tableau :int a[10]={0}
initialisera chaquea[i]
à 0 pour vous.0 votes
Le compilateur ne devrait pas autoriser cette construction si elle doit se comporter différemment de ce qu'un programmeur raisonnable attendrait d'elle...imho
3 votes
@cph2117 Un programmeur raisonnable penserait "hmm, cette syntaxe pourrait signifier plusieurs choses différentes selon la façon dont la grammaire lie les choses". Si vous avez des questions, consultez la norme pour savoir ce qui est vrai et continuez.
0 votes
Arrêtez de faire ça. Cela rend juste le code plus difficile à lire. L'intérêt d'écrire du code dans un langage de haut niveau est de le rendre simple à lire pour un mainteneur.