J'ai essayé cet exemple de tableau et post-incrément / prérémentation sur ses éléments ici la sortie est la suivante: p> et Si je change l'ordre des n et k
c'est-à-dire au lieu de p> i écrire p> la sortie devient: p> J'ai essayé ceci sur Mingw Compiler sur Windows10 et sur le GCC de Kali Linux ...
Même problème. P> C'est comme la prise de nom de variable différente modifie la sortie du programme.
Quelle pourrait être la raison? P> Je n'ai pas pris le dernier incrément post de K à l'étude. P> Les résultats seraient identiques de ce que j'aurais changé p> avec p>
3 Réponses :
Pourquoi ne serait-ce pas? Les valeurs de Par exemple, P> k code>,
n code> et
m code> dépendent de leur placement dans le code.
j[1] = 1
j[1] = 2, k = 2
j[1] = 3, n = 3
j[1] = 4, l = 3
m= 15, k = 3
3, 3, 3, 15
Dans le premier cas:
k = ++j[1]; //j[1] is incremented and is now 2, so k is 2 n = ++j[1]; //j[1] is incremented again and is now 3, so n is 3 l = j[1]++; //j[1] is incremented again and is now 3, but l is 3 m = j[k++]; //m is j[2] which is 15, and k will become 3 as it is post-incremented
En fait, ce n'est pas si compliqué
int j [5] = {5, 1, 15, 20, 25}; Voir l'autre cas p>
Vous voudrez peut-être imprimer la valeur de
j [1] code> après chacune de ces déclarations.
Dans le premier, n = 2 et k = 3 après ces deux lignes; Dans la seconde, k = 2 et n = 3. Plus tard, cette nouvelle valeur pour K affectera la valeur attribuée à m. Pourquoi trouvez-vous cet inattendu?