zoukankan      html  css  js  c++  java
  • 指针

    #include<stdio.h>
    main()
    { int a[5]={2,4,6,8,10}, *p , **k;
    p=a; k=&p;
    printf("%d ",*(p++));
    printf("%d ",**k);
    }


    //*p++先进行*p的操作,然后是p++,所以*p++的结果是数组的第一个元素,即2

    //k的取值是p的地址,当运行了p++以后,p指向的是数组a的第二个元素地址,所以为4

    #include<stdio.h>

    void sort (int a[],int n)
    {
    int i,j,t;
    for(i=0;i<n;i++)
    for(j=i+1;j<n;j++)
    if(a[i]<a[j])
    {
    t=a[i];a[i]=a[j];a[j]=t;}
    }
    void main()
    {
    int i,s[10]={3,14,8,2,15,7,12,3,11,4};
    sort(s+2,4);

    for(i=0;i<10;i++)
    printf("%5d",s[i]);
    printf(" ");
    }
    请问这里的函数调用中的sort(s+2,4);
    谁能帮我解释一下啥


    数组名当函数参数时候,数组名退化为指针,

    从数组第三个开始的后面4个数的排序

    s+2=s[2]


    s+2<=> &s[2]

  • 相关阅读:
    CAP分布式
    专职DBA-MySQL数据库开篇
    os.sep
    DocStrings
    Python如何获取脚本的参数
    LVM基础命令
    VoAndEntityTrans
    短信倒计时
    springboot在eclipse上搭建项目一(无页面)
    springboot问题
  • 原文地址:https://www.cnblogs.com/2014acm/p/3901482.html
Copyright © 2011-2022 走看看