zoukankan      html  css  js  c++  java
  • poj2013---二维数组指针使用

    #include <stdio.h>
    #include <stdlib.h>
    #include<string.h>
    int main()
    {
        int n,i,set_num=0;
        char arr1[15][26],arr2[15][26];
        char *p1_fir,*p1_sec,*p2_sta,*p2_end;
        while(scanf("%d",&n)!=EOF)
        {
            if(n==0)
                break;
            for(i=0;i<n;i++)
            {
                scanf("%s",arr1[i]);
            }
            p1_fir=&arr1[0];
            p1_sec=&arr1[1];
            p2_sta=arr2;
            p2_end=arr2+(n-1);
            while(1){
            if(p2_sta==p2_end)
            {
                strcpy(p2_end,p1_fir);
                break;
            }
            if(p2_sta>p2_end)
                break;
            strcpy(p2_sta,p1_fir);
            strcpy(p2_end,p1_sec);
            p1_fir+=52;
            p1_sec+=52;
            p2_sta+=26;
            p2_end-=26;
            }
            printf("SET %d
    ",++set_num);
            for(i=0;i<n;i++){
            printf("%s
    ",arr2[i]);
            }
        }
        return 0;
    }

    让二维数组名+1就是第二个大元素的首地址

    比如:arr[m][n]  p1=arr[0]   对于p1+1只加一个字节

    WA:字符串忘记给预留一个位置

  • 相关阅读:
    按回车键提交表单
    Access数据库类型及属性
    Problem 1002
    问题 1003
    Problem 1003
    Switch Game(摘自LP学C++)
    1006
    膜拜蛇形矩阵
    A == B?
    Rectangles
  • 原文地址:https://www.cnblogs.com/gabygoole/p/4536030.html
Copyright © 2011-2022 走看看