黑马程序员技术交流社区
标题: 4种方法遍历数组. [打印本页]
作者: wx_byrDDXsc 时间: 2016-3-27 21:23
标题: 4种方法遍历数组.
/*
有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");
}
作者: 又欠又欠 时间: 2016-3-27 21:36
感谢感谢感谢
作者: Zhangqi27 时间: 2016-3-27 22:38
学习到了 谢谢
作者: 爱尘iPhone 时间: 2016-3-27 23:01
不粗不错不错
作者: wx_byrDDXsc 时间: 2016-3-28 19:41
作者: wx_byrDDXsc 时间: 2016-3-28 20:10
作者: dazayn 时间: 2016-3-30 08:14
不 错
作者: 堕落天使 时间: 2016-3-30 10:13
受教了,棒棒的!
作者: tdwydan1 时间: 2016-3-30 19:14
传统方法里写的只是首地址,你应该写成第i个元素的地址
作者: z276698840 时间: 2016-3-31 12:55
作者: 854785751 时间: 2016-4-1 18:59
受教了!!!!
作者: zhaodecang 时间: 2016-4-1 19:06
我想问一下 VC++6.0中prinitf()函数的执行顺序跟什么有关系呢?
作者: zxinsunshine 时间: 2016-4-4 23:11
很好,分别用指针和数组来进行元素遍历
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |