A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wx_byrDDXsc 中级黑马   /  2016-3-27 21:23  /  1715 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*

有1个数组:
int arr[] = {10,20,30,40,50,60,70,80,90,100};
使用四种方式遍历方式将这个数组遍历出来.

分析: 1> 传统方法.
      2> *(p1+i)
      3> *(arr+i)
      4> *(p1++)
*/

#include <stdio.h>
void way1(int* arr,int len);
void way2(int* arr,int len,int* p1);
void way3(int* arr,int len);
void way4(int* arr,int len,int* p1);
int main()
{
    int arr[] = {10,20,30,40,50,60,70,80,90,100};
    int len = sizeof(arr)/sizeof(arr[0]);
    way1(arr, len);
    way2(arr, len, arr);
    way3(arr, len);
    way4(arr, len, arr);
    return 0;
}
//1> 传统方法.
void way1(int* arr,int len)
{
    for (int i = 0; i < len; i++)
    {
        printf("%d\t",arr);
    }
    printf("\n");
}
//2> *(p1+i)
void way2(int* arr,int len,int* p1)
{
    for (int i = 0; i < len; i++)
    {
        printf("%d\t",*(p1+i));
    }
    printf("\n");
}
//3> *(arr+i)
void way3(int* arr,int len)
{
    for (int i = 0; i < len; i++)
    {
        printf("%d\t",*(arr+i));
    }
    printf("\n");
}
//4> *(p1++)
void way4(int* arr,int len,int* p1)
{
    for (int i = 0; i < len; i++)
    {
        printf("%d\t",*(p1++));
    }
    printf("\n");
}


12 个回复

倒序浏览
感谢感谢感谢
回复 使用道具 举报
学习到了 谢谢
回复 使用道具 举报
不粗不错不错
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
dazayn 中级黑马 2016-3-30 08:14:59
7#
不                       错
回复 使用道具 举报
受教了,棒棒的!
回复 使用道具 举报
传统方法里写的只是首地址,你应该写成第i个元素的地址
回复 使用道具 举报
回复 使用道具 举报
受教了!!!!

评分

参与人数 1黑马币 +20 收起 理由
黑马公公007 + 20

查看全部评分

回复 使用道具 举报
我想问一下  VC++6.0中prinitf()函数的执行顺序跟什么有关系呢?
回复 使用道具 举报
很好,分别用指针和数组来进行元素遍历
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马