|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 数组的初值不是可以比定义时的个数少的么
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1620
人关注过本帖
标题:
数组的初值不是可以比定义时的个数少的么
只看楼主
加入收藏
natto
等 级:
新手上路
帖 子:27
专家分:5
注 册:2016-4-10
结帖率:
70%
楼主
收藏
已结贴
√
问题点数:1 回复次数:4
数组的初值不是可以比定义时的个数少的么
程序代码:
void
main() {
int
s[
5
]={
23
}; printf(
"
%d \n
"
,*s); }
不是说赋的初值个数少于数组定义时的个数时,将自动在后面补初值0么,那怎么这段话我运行以后,出来就是23,而不是23 0 0 0 0
2016-04-13 17:57
举报帖子
使用道具
赠送鲜花
qq1023569223
来 自:湖南科技大学
等 级:
贵宾
威 望:
26
帖 子:2753
专家分:13404
注 册:2010-12-22
第
2
楼
收藏
得分:0
int s[5]={23}仅对s[0]赋值,后面的补不补看编译器,有的会有的不会。*s只会输出s[0],不会输出全部,不要与字符串混淆。
唯实惟新 至诚致志
2016-04-13 18:24
举报帖子
使用道具
赠送鲜花
落翼天玑乱
等 级:
新手上路
帖 子:20
专家分:3
注 册:2016-3-7
第
3
楼
收藏
得分:1
是自动补充为0没错,但是你输出的方式不对,printf("%d \n",*s);这种输出方法等同于printf("%d \n",s[0]);
要想把一个数组的所有值都输出的话好像必须要遍历数组,你试试下面的代码!
#include <stdio.h>
int main()
{
int a[5]={23},t;
for(t=0;t<5;t++)
{
printf("a[%d]=%d;\n",t,a[t]);
}
system("pause");
return 0;
}
2016-04-13 18:52
举报帖子
使用道具
赠送鲜花
lin5161678
等 级:
贵宾
威 望:
45
帖 子:1136
专家分:3729
注 册:2011-12-3
第
4
楼
收藏
得分:0
以下是引用
qq1023569223
在2016-4-13 18:24:48的发言:
int s[5]={23}仅对s[0]赋值,后面的补不补看编译器,有的会有的不会。*s只会输出s[0],不会输出全部,不要与字符串混淆。
不不不 你弄错了
不管什么编译器 后面都会补充0
不补充0的编译器是不合格的
https://zh.
2016-04-13 21:22
举报帖子
使用道具
赠送鲜花
wanglianyi1
等 级:
贵宾
威 望:
14
帖 子:647
专家分:2067
注 册:2015-6-18
第
5
楼
收藏
得分:0
输出的格式不对,当然只输入1个了
收到的鲜花
natto
于
2016-04-15 12:13
送鲜花
1朵 附言:我很赞同
2016-04-14 13:07
举报帖子
使用道具
赠送鲜花
5
1/1页
1
快速回复:
数组的初值不是可以比定义时的个数少的么
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.024487 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved