在C语言中,数组a[5],数组名a可以a++吗

#include<stdio.h>intmain(void){intarray[5];int*p,i;printf("请输入是五个数:\n");for(i=0;i<5;i... #include<stdio.h>
int main(void)
{
int array[5];
int *p,i;
printf("请输入是五个数:\n");
for(i=0;i<5;i++)
scanf("%d",&array[i]);

printf("\n");
printf("输出五个数:\n");
for(i=0;i<5;i++)
printf("%d\n",*(array++));//"array++"这样的写法正确吗
}
展开
 我来答
iiiiiiiipl
2019-07-08 · TA获得超过9923个赞
知道答主
回答量:68
采纳率:66%
帮助的人:3.9万
展开全部

不能。因为变量指针可以递增,而数组不能递增,数组可以看成一个指针常量。代码修改:

#include<stdio.h>

int main(void)

{

int array[5]={2,4,5,23,5};

int *p,i;

p=array;

printf("请输入是五个数:\n");

for(i=0;i<5;i++)

scanf("%d",&array[i]); 

printf("\n");

printf("输出五个数:\n");

//for(i=0;i<5;i++)

printf("%d\n",*(p++));

}

扩展资料:

指针运算

1、指针变量加/减一个整数

例如:p++,p--,p+i等。

C语言与C++语言规定,一个指针变量加/减一个整数是将该指针变量的原值(是一个地址)和它指向的变量所占用的内存单元字节数相加或相减。这样就保证了p+i指向p下面的第i个元素。

2、指针变量赋值

C语言与C++语言规定,可以将一个变量或一个函数的入口地址赋值给相应的指针变量。

例如(假设p是相应的指针):

p=&a;

p=max;(max为已经定义的函数)

3、指针变量相减

如果两个指针变量指向同一个数组的元素,则两个指针变量之差是两个指针之间的元素个数。

注意,指针变量相加无实际意义。

4、指针变量比较

如果两个指针变量指向同一个数组的元素,则可以进行比较。指向前面元素的指针变量小于指向后面元素的指针变量。

参考资料:

百度百科-指针运算

风若远去何人留
推荐于2017-10-06 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部
当a为数组名时,可以当做一维指针进行取值运算,但是由于数组名等同于常量指针,所以不可以对数组名进行赋值运算。
所以当a为数组时, a=任意表达式 这样的计算都是非法的。
而a++,等效于a=a+1, 所以这种表达式一样是非法的,编译的时候会报错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JMargin
2012-07-18 · 超过13用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:34.3万
展开全部
不可以,数组中的这种写法只能用于指针变量存放地址自增
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine1991
科技发烧友

2012-07-18 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部
不可以,自增运算符的操作对象要求是可修改的左值,但是数组名不是可修改的左值
追问
是不是说自增运算符的操作对象是变量,数组名是指针常量。可以这么理解吗
追答
大致上可以,但是这种说法不严谨,比如const修饰的变量,就不是可修改的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-07-18
展开全部
不正确啊!因为array是概数组的首地址。这个值定义后就是固定不变的了。你每次使用array++只能得到array+1地址的数据。所以输出的都是array[1]的值。。。应该用array+i才对。。。希望我没看错。。。。。。
追问
我加有for循环了 ,每循环一次,array都加一
追答
不好意思,回答错误。。。array++本身就是错误的。因为数组名是个指针常量。不能做自增或者自减的操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式