Votre code est illicite. Mais sous le capot la disposition de la mémoire de la matrice se trouve être dans l'ordre majeur de la colonne comme dans la boucle triple k, j, i, de sorte que le code semble fonctionner. Mais c'est illégal.
Si vous activez les vérifications d'erreurs d'exécution dans votre compilateur (voir le manuel), il trouvera l'erreur et la signalera.
Cela peut être légèrement plus rapide, si vous n'activez pas les optimisations du compilateur, car il y a un peu de surcharge dans les boucles imbriquées, mais un compilateur d'optimisation optimisera le code à une boucle.
Si vous avez fait (vous devriez toujours montrer votre code !!!)
do i=1,10
do j=1,10
do k=1,10
something with A(i,j,k)
alors s'il vous plaît noter que c'est le mauvais ordre et vous devez boucle dans le k, j, je commande.
Veuillez également noter que la mesure de la vitesse d'impression sur l'écran n'est pas utile et peut être très délicate. Certaines opérations mathématiques sont plus utiles.
Plus rapide que quoi exactement? Qu'est-ce que vous ne comprenez pas exactement dans le code? –
le tableau A a la dimension de 10X10X10, alors pourquoi le code I fourni ci-dessus fonctionne-t-il lorsque l'indice i a dépassé 10? Et il est plus rapide que ci-dessous, i = do faire j 1,10 = 1,10 faire k = 1,10 print *, A (i, j, k) enddo enddo enddo – user8553012