C语言-操作二维数组的某一行(列)


#include<stdio.h>
int main(void){
    int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
    int (*p)[4];
    for(p=a;p<a+3;p++){
        (*p)[2]=-1;
    }
    p=a;
    int i,j;
    for(i=0;i<3;i++){
        for(j=0;j<4;j++) 
            printf("%d ",*(*(p+i)+j));
        printf("\n");
    }
    return 0;
}
#include<stdio.h>
int main(void){
    int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
    int *p;
    for(p=a[1];p<a[1]+4;p++){
        *p=-1;
    }
    int i,j;
    for(i=0;i<3;i++){
        for(j=0;j<4;j++)
            printf("%d ",a[i][j]);
        printf("\n");
    }
    return 0;
} 

 

#include<stdio.h>

int main(void){
    int a[3][3]={1,2,3,4,5,6,7,8,9}; 
    int *pa[3]={a[0],a[1],a[2]}; 
    int *p=a[0]; 
    int i; 
//*pa[i]表示第i行第0列元素值,*(p+i)表示第0行第i列元素值
    for(i=0;i<3;i++)
        printf("%d,%d,%d,%d\n",*a[i],*pa[i],p[i],*(p+i));
    return 0;
}

 

#include<stdio.h>
float* search(float (*pointer)[4],int n){
    float *pt=*(pointer+n);
    return pt;
}
int main(){
    float score[][4]={{60,70,80,90},{61,71,81,91},{62,72,82,92}};
    int i,m;
    scanf("%d",&m);
    float *p=search(score,m);
    for(i=0;i<4;i++) 
        printf("%-10.2f",*(p+i));
    return 0;
} 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM