Fork me on GitHub

二维数组问题(附for循环的执行顺序)

char ch[2][5]={"6934","8254"},*p[2];  //p是指针数组,每个元素都是一个指针

    int i,j,s=0;

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

        p[i]=ch[i];           //p[i]相当于二维数组,行的首地址(若不指定,p中2个指针元素的地址随机分配的野指针)

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

        for(j=0;p[i][j]>'0'&&p[i][j]<'9';j+=2)

            s=10*s+p[i][j]-'0';

    printf("%d\n",s);

 

 

for循环问题:

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

{

  1先判断i  是否小于5 这个条件,

  2如果满足条件,执行大括号内函数,

  3 i 自加;再判断条件。。。

  printf("%i",i);   //01234    最后一步 i++是在i=4时候函数体 执行后自加的,这个时候i=5,不满足条件,退出循环,5不会进入到函数体,需要注意

}

printf("%i",i);  //这个时候输出5;

posted on 2012-02-22 02:26  pengyingh  阅读(411)  评论(0)    收藏  举报

导航