黑马程序员技术交流社区

标题: 如何用指针遍历数组? [打印本页]

作者: talent123    时间: 2015-6-1 21:32
标题: 如何用指针遍历数组?
int main(){
        int a[] = {7,6,5,4,3,2,1};

        int *p = a;
        while ( *p != '\0' ){
                printf("%d ", *p);
                p++;
        }
        return 0;
}

是不是只能限定循环次数,因为数组的最后没有像字符串一样有‘\0’这种东西?
作者: woaidd99    时间: 2015-6-1 21:38
运行能成功吗
作者: talent123    时间: 2015-6-1 21:40
woaidd99 发表于 2015-6-1 21:38
运行能成功吗

强说 成功的话
也能成功
但是后面会跟着很多乱七八糟东西

作者: woaidd99    时间: 2015-6-1 21:41
整形的数组,, 不是字符串数组  没有\0吧
作者: fixer    时间: 2015-6-1 22:36
woaidd99 发表于 2015-6-1 21:41
整形的数组,, 不是字符串数组  没有\0吧

大牛正解,,,
作者: Residual_mem    时间: 2015-6-1 22:51
系统会给你一直找到内存中的字符串中的\0才会停下来。。
作者: ⒈苆都s.兲憶    时间: 2015-6-1 23:41
用for循环感觉比较好。for(int i = 0,i<len,i++){printf ("%d",a[i]);}
作者: 晗修    时间: 2015-6-3 00:50
数组长度不是可以得到么
作者: huyingbin    时间: 2015-6-3 08:08
先用sizeof算出数组长度,再用for循环遍历




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2