C语言关于指针变量输出

请问这两个红线框里的意思是什么,尽量说的具体些,谢谢了

p是指针,先指向数组a的首地址
p++表示先使用p,再执行p=p+1,这是一种简单写法
scanf(”%d“, p++ ); //先向p指向的地址中写入一个整数,然后p指向下一个整数的地址。追问

第二个for循环里的两个是什么意思呢

追答

那是循环变量改变区
for语句结构如下:
for( e1; e2; e3 )
{
for_statement ;
}
e1是初始化区,只执行一次
e2是条件区,每次先检查e2是否为真,为真则执行for_statement ;否则结束循环
e3是循环变量改变区,每执行完一次for_statement ;就会去执行e3

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-24
因为scanf输入的时候要写变量的地址,这里的p就是a[10]数组的首地址,p++是指针向后移。
后面的p++是指让指针+1,就是a的地址每次后移,为了取a中的每个元素,可以通过这种方式让p的值依次后移,这样*p就可以直接取用数组的元素了。
第2个回答  2014-10-24
第一个,先输出p的值,在把p+1赋值给p。第二个就是i+1赋值给i,p+1赋值给p

不明白可以再问,望采纳
第3个回答  推荐于2018-03-28
p++和i++是一样的,后置自加运算符,表示对p和i自加(即加1)。
这里的 p++是将指针加1,每次循环的时候指向数组a的下一个位置,用于存放scanf输入的数据。
i++则是为了控制循环的次数。
你是不明白第二个for循环里面为什么有两个++吗?p++和i++!这只是把他们放在一起罢了,和for循环的初始化是一样的。另外,逗号(,)也是运算符哦,只是优先级最低!

++有前置和后置的区别,即++p和p++是不一样的。
++p是p的值直接加1;p++是待运算完之后p再加1。
注意:这里的p++(加1)是个泛指概念,确切的说,对于指针类型,每次加的是个sizeof(type),type是类型,这里是int。本回答被网友采纳
相似回答