zoukankan      html  css  js  c++  java
  • 指针应用

    1、用数组名常量指针输出二维数组,并将数组中的最大元素及所在行列号输出
    #include "stdio.h"
    #include 
    "conio.h"
    void main()
    {
        
    int i,j,m,n,max;
        
    int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
        m
    =0;n=0;
        max
    =**a;                            /*第一元素赋给max,**a等价于*(*(a+0)+0)*/
        
    for(i=0;i<3;i++)
        
    {
            printf(
    "\n");
            
    for(j=0;j<4;j++)
            
    {
                printf(
    "%5d",*(*(a+i)+j));
                
    if(max<*(*(a+i)+j))
                
    {
                    max
    =*(*(a+i)+j);
                    m
    =i;n=j;
                }

            }

        }

        printf(
    "\nmax is :a[%2d][%2d]=%-5d",m,n,max);
        getch();
    }
    2、用指向数组元素的指针输出二维数组,并将数组织中的最大元素及所在行列号输出
    #include "stdio.h"
    #include 
    "conio.h"
    void main()
    {
        
    int i,j,m,n,max;
        
    int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
        m
    =0;n=0;
        
    int *p;
        p
    =a[0];                          /*指针p指向数组a的第0行*/
        max
    =*p;                       /*先把第一个元素最为最大值*/

        
    for(i=0;i<3;i++)
        
    {
            printf(
    "\n");
            
    for(j=0;j<4;j++)
            
    {
                printf(
    "%5d",*p);
                
    if(max<*p)
                
    {
                    max
    =*p;
                    m
    =i;n=j;
                }

                p
    ++;
            }

        }

        printf(
    "\nmax is :a[%2d][%2d]=%-5d",m,n,max);
        getch();
    }

    3、用指向一维数组的行指针输出二维数组,并将数组中的最大元素及所在行列号输出
    #include "stdio.h"
    #include 
    "conio.h"
    void main()
    {
        
    int i,j,m,n,max;
        
    int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
        m
    =0;n=0;
        
    int (*p)[4];        /*定义p为指向一个有4个元素的一维数组的指针变量*/
        p
    =a;                /*p指向第0行*/
        max
    =**p;            /*将第一个元素送max,**p相当于*(*(p+0)+0)*/

        
    for(i=0;i<3;i++)
        
    {
            printf(
    "\n");
            
    for(j=0;j<4;j++)
            
    {
                printf(
    "%5d",*(*p+j));
                
    if(max<*(*p+j))
                
    {
                    max
    =*(*p+j);
                    m
    =i;n=j;
                }

            }

            p
    ++;           /*指向下一行*/
        }

        printf(
    "\nmax is :a[%2d][%2d]=%-5d",m,n,max);
        getch();
    }
  • 相关阅读:
    C#将JSON字符串对象序列化与反序列化
    Chrome 中的 JavaScript 断点设置和调试技巧
    JS 关闭 页面 浏览器 事件
    使用Jquery向一个空白网页动态创建一个iframe,及嵌入页面,和向嵌入页面传参
    js/jquery判断浏览器的方法小结
    Javascript中document.execCommand()的用法
    js 点击默认另存 ,不是打开 Blob 操作
    浅析jQuery删除节点的三个方法
    IE 和Firefox的js兼容性总结
    removeNode is not defined removeNode is not a function
  • 原文地址:https://www.cnblogs.com/qixin622/p/624728.html
Copyright © 2011-2022 走看看