Voici mon code pour la fonction merge:
#include #include "merge.h" void merge( char a1[], int n1, char a2[], int n2, char output[]) { int i = 0; int j = 0; int z = 0; while (i < n1) || (j < n2) // This is where the error happends { if (i < n1) && (j < n2) if (a1[i] <= a2[j]) output[z++] = a1[i++]; else output[z++] = a2[j++]; else if (j == n2) while (i < n1) output[z++] = a1[i++]; else if (i == n1) while (j < n2) output[z++] = a2[j++]; } }
Pourriez-vous me dire pourquoi le code a cette erreur? J’ai regardé toutes les questions avec la même erreur, mais il semble qu’il n’y ait pas eu de réponse universelle à cette erreur … Merci beaucoup!
Englobe la condition complète entre parenthèses:
while ((i < 3) || (j < 3))
Vous pouvez aussi utiliser:
while (i < 3 || j < 3)
Et soyez prudent avec:
if (i < n1) && (j < n2)
qui peut être:
if (i < n1 && j < n2)
while (i < 3) || (j < 3)
devrait être:
while ((i < 3) || (j < 3))
ou (parce que <
a une priorité plus élevée que ||
)
while (i < 3 || j < 3)
while (i < 3) || (j < 3)
devrait être
while ((i < 3) || (j < 3))
pareil pour
if (i < n1) && (j < n2)