Voici le code c:Erreur lors du débogage d'un programme C sur les pointeurs
#include<stdio.h>
int main()
{
int a[]={0,1,2,3,4};
int*p[]={a,a+1,a+2,a+3,a+4};
int**ptr=p;
ptr++;
printf("%d , %d ",*ptr-a , **ptr);
*ptr++;
printf("\n%d , %d ",*ptr-a , **ptr);
*++ptr;
printf("\n%d , %d ",*ptr-a , **ptr);
++*ptr;
printf("\n%d , %d ", *ptr-a , **ptr);
return 0;
}
Je suis incapable de comprendre l'erreur et ce qui devrait être modifié dans le code.
Vous n » Ne laissez pas le débogueur exécuter la ligne 8. Je suppose que c'est la raison pour laquelle vous obtenez cette erreur. – Gaurav
Oui cela fonctionne. Je vous remercie. Je ne savais pas comment fonctionnent les points de rupture. –
Vous devez lancer 'ptr - a'' int', car le type résultant est 'ptrdiff_t': http://ideone.com/CfjqzO Aussi le' * ' dans '* ptr ++; 'est inutile. – mch