尝试使用指针在C中转置矩阵

尝试使用指针在C中转置矩阵,c,pointers,matrix,C,Pointers,Matrix,我相信我的代码的其余部分是正确的,但只是转置部分是错误的 以下是转置部分的代码: void transpose(int *m1, int *m2, int n) { int i = 0; int j = 0; while(i=0, i<n) { while(j=0, j<n) { *(m1+i*n+j) = *(m2+j*n+i); j++; } i++;

我相信我的代码的其余部分是正确的,但只是转置部分是错误的

以下是转置部分的代码:

void transpose(int *m1, int *m2, int n) {

    int i = 0;
    int j = 0;

    while(i=0, i<n) {
        while(j=0, j<n) {
            *(m1+i*n+j) = *(m2+j*n+i);
            j++;
        }
        i++;
    }


}
有人知道我哪里出错了吗?

这是错误的:

while(i=0, i<n)

我想对约翰的回答再详细说明一下,因为它不清楚 您是否了解此代码的真正功能:

while(i=0, i<n)

while(i=0,iUse
用于
循环;它们更容易理解,也更难出错。
for(i=0; i<n;)
for(int i=0; i<n; i++)
while(i=0, i<n)
i=0, i<n