J'ai écrit une logique pour trouver les éléments communs de deux tableaux. Mais le programme s'arrête à la condition if en donnant une exception disant violation d'accès en lisant l'emplacement 0x00000002.
#include<stdio.h>
void intersect(int[2][2],int[2][2],int,int);
int main()
{
int arr1[2][2]={{2,5},{6,8}};
int arr2[2][2]={{1,2},{8,8}};
row = (sizeof(arr1)/sizeof(arr1[0]));
col = (sizeof(arr1[0])/sizeof(arr1[0][1]));
intersect(arr1,arr2,row,col);
}
void intersect(int **ptr1, int **ptr2,int row, int col)
{
int i = 0, j= 0, x = 0, y = 0;
for(i = 0; i <row ; i++)
{
for(j = 0 ; j < col ; j++)
{
for(x = 0; x < row ; x++)
{
for(y = 0; y < col ; y++)
{
if(ptr1[i][j] == ptr2[x][y])
printf("%d\t",ptr1[i][j]);
}
}
}
}
}
Voici ce qu'il dit en détail : Exception de première chance à 0x002b1572 dans Array.exe : 0xC0000005 : Violation d'accès en lecture de l'emplacement 0x00000002. Exception non gérée à 0x002b1572 dans Array.exe : 0xC0000005 : Violation d'accès à la lecture de l'emplacement 0x00000002.