利用指针输出数组时发现一个问题,还请指教

# include "stdio.h"


int main(void)
{
int i;
int a[10];
int *p;
printf("input arrey:\n");
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);

for (i = 0; i < 10; i++)
printf("%d ", a[i]);
printf("\n");



for (p = &a[0]; p < (a+10); p++)//&a[0]是数组的首地址,可以输出,肯定正确
printf("%d ", *p);
printf("\n");
for (p = a; p < (a+10); p++)//数组名a也是是数组的首地址,可以输出,也肯定正确
                printf("%d ", *p);printf("\n");
        for (p = &a; p < (a+10); p++)//但是这一句有点值的思考,a是数组的首地址,那&a就不是数组的首地址了吧,可是在tc3.0下还是可以输出的,只是在编译时提示警告,还请指教
printf("%d ", *p);
printf("\n");
getch();
return 0;
}








            
阅读更多
文章标签: include input
个人分类: 下半年程序
上一篇利用函数和指针实现最小数和第一个数交换,最大数和最后一个数交换
下一篇asp.net连接oracle存储过程
博主设置当前文章不允许评论。

没有更多推荐了,返回首页

关闭
关闭
关闭