A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© talent123 中级黑马   /  2015-6-1 21:32  /  1343 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int main(){
        int a[] = {7,6,5,4,3,2,1};

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

是不是只能限定循环次数,因为数组的最后没有像字符串一样有‘\0’这种东西?

8 个回复

倒序浏览
运行能成功吗
回复 使用道具 举报

强说 成功的话
也能成功
但是后面会跟着很多乱七八糟东西
回复 使用道具 举报
整形的数组,, 不是字符串数组  没有\0吧
回复 使用道具 举报
woaidd99 发表于 2015-6-1 21:41
整形的数组,, 不是字符串数组  没有\0吧

大牛正解,,,
回复 使用道具 举报
系统会给你一直找到内存中的字符串中的\0才会停下来。。
回复 使用道具 举报
用for循环感觉比较好。for(int i = 0,i<len,i++){printf ("%d",a[i]);}
回复 使用道具 举报
数组长度不是可以得到么
回复 使用道具 举报
先用sizeof算出数组长度,再用for循环遍历
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马