我正在构建动态xor矩阵的this exercise:
由于缺乏记忆,我得到了段错误:
int main() {
long long int col,row;
scanf("%lld %lld",&col,&row);
int **matrix = new int*[row];
for(long long int i=0; i<row; i++)
matrix[i] = new int[col];
for(long long int k=0;k<row;k++)
{
for(long long int j=0;j<col;j++)
{
if(k==0)
scanf("%d",&matrix[k][j]);
else if(j!=(col-1))
__asm__ ( "xorl %%ebx, %%eax;": "=a"(matrix[k][j]) : "a"(matrix[k-`1][j]), "b"(matrix[k-1][j+1]));`
else if(j==(col-1))
__asm__ ( "xorl %%ebx, %%eax;": "=a"(matrix[k][j]) : "a" (matrix[k-1][j]), "b"(matrix[k-1][0]));
// matrix[k][j]=matrix[k-1][j]^matrix[k-1][0];
if(k==(row-1))
printf("%d ",matrix[k][j]);
}
}
}
我尝试用2个没有双循环的数组来做,但是我得到了CPU超时。
我的错误在哪儿?