c(问题)

来源:百度知道 编辑:UC知道 时间:2024/06/05 05:40:53
#include<stdio.h>
void main()
{
int a[]={1,2,3,4,5,6,7,8,9,0},*p;
for(p=a;p<a+10;p++)
printf("%d",*p);
}
问题:这里的p不是已++了吗,为啥还会输出1,2,3,4,5,6,7,8,9,0,因该不包括1啊

int a[]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;代表的指向数组a的地址,也是它第一个元素的地址.所以会输出1.

第一次的时候p还没有++呀~~~~~~`
for的顺序是这样的
for(EXP1;EXP2;EXP3)
{
语句段
}
先执行EXP1,然后判断EXP2,若为真,则执行语句段,然后,执行EXP3,再判断EXP2,直到为假。

for语句的格式(A;B;C;){循环函数}

A(变量初始化)→B(判断是否执行for循环)-(是)→{循环函数}→C(变量增减)→B→{循环函数}→C→B........
如果B返回的值为否,则跳出for循环语句

for循环中最后一个字句
在一次循环中最后作