数组初始化?

GioPna 2013-02-20 04:30:47
《C语言程序设计 现代方法》
8.1.2 数组初始化
如果初始化比数组短,那么数组中剩余的元素赋值为0.

---------------------------------------------------------------


#include <stdio.h>

int mian()
{
int a[3]={0};
return 0;
}




z@z:~$ gcc a.c
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crt1.o: In function `_start':
/build/buildd/eglibc-2.10.1/csu/../sysdeps/i386/elf/start.S:115: undefined reference to `main'
collect2: ld returned 1 exit status


为什么编译出错?
...全文
847 57 打赏 收藏 转发到动态 举报
写回复
用AI写文章
57 条回复
切换为时间正序
请发表友善的回复…
发表回复
bookc-man 2013-03-05
  • 打赏
  • 举报
回复
main
wugui414 2013-03-04
  • 打赏
  • 举报
回复
int mian
zhao4zhong2 2013-03-04
  • 打赏
  • 举报
回复
不要迷信书、考题、老师、回帖; 要迷信CPU、编译器、调试器、运行结果。
mujiok2003 2013-03-04
  • 打赏
  • 举报
回复
连接器的错误提示狠清楚阿
赵4老师 2013-03-04
  • 打赏
  • 举报
回复
关于自己是否适合编程的很简单的测试: 在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案: A里面有10处以上文字或标点错误 B里面没有文字或标点错误并敢为此跟人打赌 C里面没有文字或标点错误并且字体和排版完全与原稿一致 D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感 A不适合编程(理由:打字准确度偏低、粗心大意) B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念) C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证) D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!) 如果想从A变成B的话,到我的资源http://download.csdn.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”
Thirty 2013-03-04
  • 打赏
  • 举报
回复
引用 50 楼 songchao_2011 的回复:
哦 我似乎好像明白楼主的意思是: 1.如果写成a[10]={0}; 这是初始化数组。 2.如果写成这样: a[10]={1}; 这就是赋值,而不是初始化对吗? 求解释啊?
2不是,只能初始为a[0]=1,其余的为0,为什么没去详细了解。
赵4老师 2013-03-04
  • 打赏
  • 举报
回复
#define mian main
代码前加这句?
东北熊孩子 2013-03-03
  • 打赏
  • 举报
回复
哦 我似乎好像明白楼主的意思是: 1.如果写成a[10]={0}; 这是初始化数组。 2.如果写成这样: a[10]={1}; 这就是赋值,而不是初始化对吗? 求解释啊?
东北熊孩子 2013-03-02
  • 打赏
  • 举报
回复
恩 我试过了int a[3]={0}; 你打印这个a数组里面的值确实都是0; 但是你要是这样初始化呢? int a[10]={1}; for (int i = 0;i < 10;i++) { printf("%d",a[i]); } 数组里面只有a[0]=1;其他却都是0;
lin5161678 2013-03-02
  • 打赏
  • 举报
回复
引用 43 楼 songchao_2011 的回复:
你那样初始化数组,实际上是只给a[0] = 0; 呵呵。
呵呵 不是的 int a[3] = {0}; 会把全部元素都初始化为0
东北熊孩子 2013-03-02
  • 打赏
  • 举报
回复
呵呵 main函数错了。 上面的代码就一行能运行的,但是你那样初始化数组,实际上是只给a[0] = 0; 呵呵。
DaiwjDev 2013-03-02
  • 打赏
  • 举报
回复
引用 22 楼 zhao4zhong1 的回复:
VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。 对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。 (Turbo C或Borl……
[color]赵老师 还是 Ctrl-c + Ctrl-V[/color]
25K纯帅 2013-03-02
  • 打赏
  • 举报
回复

#include <stdio.h>
 
int main()  //mian.I服了U
 {
    int a[3]={0};
    return 0;
 }
wingzero520 2013-03-02
  • 打赏
  • 举报
回复
又见"面"函数
lin5161678 2013-03-02
  • 打赏
  • 举报
回复
引用 45 楼 songchao_2011 的回复:
恩 我试过了int a[3]={0}; 你打印这个a数组里面的值确实都是0; 但是你要是这样初始化呢? int a[10]={1}; for (int i = 0;i < 10;i++) { printf("%d",a[i]); } 数组里面只有a[0]=1;其他却都是0;
正确啊 初始化的时候 没指定的元素就都默认0了
BrightPi 2013-03-02
  • 打赏
  • 举报
回复
main 函数写错了。 mian -> main
hu7324829 2013-02-28
  • 打赏
  • 举报
回复
不是'面' 是 'main'
闭着眼刷牙 2013-02-28
  • 打赏
  • 举报
回复
引用 9 楼 ardayoyo 的回复:
引用 7 楼 china_jeffery 的回复:main拼写错误 同叹气
你该仔细些
_Wayne_ 2013-02-28
  • 打赏
  • 举报
回复
引用 20 楼 GioPna 的回复:
1.ASCII码值是:0,也就是nul? 还是, 2.ASCII码值是:48,也就是:0? 到底是哪个啊?
ASCII码值是:48,那是字符‘0';不是数字0。
q422013 2013-02-28
  • 打赏
  • 举报
回复
主函数,main
加载更多回复(36)

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧