LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: 强强

C语言问题!

[复制链接]
发表于 2004-11-25 12:43:33 | 显示全部楼层
呵呵,不好意思了,不知楼上在说楼上的楼上还是在说我,

楼上的楼上写的没错,buf[10][10]是全局的,被自动清零了

而我说的加上 malloc 是有问题的,自我检讨一下。
发表于 2004-11-25 15:32:14 | 显示全部楼层
最初由 doubleelec 发表
呵呵,不好意思了,不知楼上在说楼上的楼上还是在说我,

楼上的楼上写的没错,buf[10][10]是全局的,被自动清零了

呵呵,doubleelec兄别误会呀,我不是在说你。
虽然大多数现代的编译器会自动把数组初始化为0, 但有些编译器可能不会这么做。最好还是主动给字符串加上'\0',这样避免不必要的隐患。
有不同意见,欢迎交流。
发表于 2004-11-26 12:10:06 | 显示全部楼层
全局变量清0,是 c 语言的一个规定丫!
发表于 2004-11-26 14:45:19 | 显示全部楼层
最初由 kj501 发表
呵呵,doubleelec兄别误会呀,我不是在说你。
虽然大多数现代的编译器会自动把数组初始化为0, 但有些编译器可能不会这么做。最好还是主动给字符串加上'\0',这样避免不必要的隐患。
有不同意见,欢迎交流。


这样的编译器不是符合标准的编译器吧,因为 C 的标准点明了要初始化为 0 的。
发表于 2004-11-26 16:21:23 | 显示全部楼层
晕,实在是想不起来什么时候养成对字符串操作就一定要加上'\0'的习惯了。可能是以前在什么地方苦头吧。
发表于 2004-11-26 16:42:19 | 显示全部楼层
最初由 kj501 发表
晕,实在是想不起来什么时候养成对字符串操作就一定要加上'\0'的习惯了。可能是以前在什么地方苦头吧。

绝对是好习惯
发表于 2004-11-26 17:09:42 | 显示全部楼层
嗯。初始化是防止错误的好方法,特别是那些令人摸不着头脑的错误。
发表于 2004-11-26 23:17:48 | 显示全部楼层
我偷懒了,的确应该向版主和楼上说的那样养成这个习惯!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表