为了账号安全,请及时绑定邮箱和手机立即绑定

可不可以尝试用while循环来写呢?

    我在此假设数组长度未知且数组中元素无序,此时用while语句的条件是数组已经遍历到末尾,可是怎样确定数组下一个元素为空呢?抑或是利用指针,使指针指向的下一个值为空为止,我该怎样利用while循环来完成这个功能函数呢?

正在回答

3 回答

C语言的数组有三大特点:1.连续的 2.大小固定 3.数据类型一致

首先数组长度一定是确定的,第二数组可以越界访问,但是越界后访问的不是数组的元素而是一个不确定的值。所以你的这个问题即便用指针也无法实现,因为也没有办法判断是否循环到数组的最后一个元素。

2 回复 有任何疑惑可以回复我~
#1

未竟的守护者 提问者

非常感谢!
2015-01-22 回复 有任何疑惑可以回复我~

其实可以用sizeof来算出数组中多少元素~

1 回复 有任何疑惑可以回复我~
#1

未竟的守护者 提问者

感谢你的回答!sizeof和strlen都可以实现数组长度的测量,但是需要导入头文件<string.h>,这种方法在其他编译软件上可以通过,可是在这里编译却不能通过所以很头疼。
2015-01-20 回复 有任何疑惑可以回复我~
#2

Fiona0126 回复 未竟的守护者 提问者

sizeof 是不需要引入头文件的,strlen需要~ int i,len = sizeof(arr)/sizeof(arr[0]); for(i=0;i<len;i++){ printf("%d\n",arr[i]); }这样不能通过吗?
2015-01-20 回复 有任何疑惑可以回复我~
#3

Fiona0126 回复 未竟的守护者 提问者

而且strlen是只能字符串数组的长度的~sizeof则是测这段内存的空间。所以如果数组一开始定义了大小就测不出来了~
2015-01-20 回复 有任何疑惑可以回复我~
#4

未竟的守护者 提问者 回复 Fiona0126

谢谢你了哦
2015-01-22 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

可不可以尝试用while循环来写呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信