免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: pmerofc
打印 上一主题 下一主题

[C] 初中级C语言水平自测:srand((int)time(0)); 有没有错? [复制链接]

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
161 [报告]
发表于 2012-10-22 08:34 |只看该作者
回复 154# starwing83

看5楼。。。

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
162 [报告]
发表于 2012-10-22 10:27 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
163 [报告]
发表于 2012-10-22 16:04 |只看该作者
回复 162# pmerofc

增加不需要的变量存储表达式的值是烂习惯。 但只是美学上的原因, 让代码冗长了。
增加不需要的转型就是更烂的习惯。 因为除了美学上的原因,还有技术上的原因。

冗余变量不会破坏类型安全 —— 除非是 char* can_write = "maybe readonly"。
但增加一个转型就削弱了一部分类型检测,是在告诉编译器:这里我比你懂得多,你可以闭嘴了。
当前也许不会出问题, 但在代码演化过程中 —— 当然,对memcpy这一特定的例子无效 —— 这样的检测可以救命。

还记得CU上头像是高爷爷的那个人吗?

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
164 [报告]
发表于 2012-10-22 16:34 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
165 [报告]
发表于 2012-10-22 16:38 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
166 [报告]
发表于 2012-10-22 16:41 |只看该作者
回复 164# pmerofc

资源上优化不掉的,也许有,但我想不出例子了。

而思维上。。。 只要知道表达式本身就有值,不需要先存储到一个变量中再通过变量访问(也是一个表达式)来获取值,就够了。
在知道这点的情况下具体该如何使用,那又是美学问题了。。。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
167 [报告]
发表于 2012-10-22 16:45 |只看该作者
回复 165# pmerofc

把原型列出来,把不需要的转型去掉。

至于该怎么解释, (void*)"source" 不比 void* p = "source" 好解释到哪去。 尤其是要将它的危险性解释清楚的话。
而如果解释了后者, memcpy(..., "source", ...) 就不难了。

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
168 [报告]
发表于 2012-10-22 16:55 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
169 [报告]
发表于 2012-10-22 17:06 |只看该作者
回复 168# pmerofc

memcpy(..., "source", ...) 不会。 就像 void* p = "source" 不会一样。

int x = ...;
bool b = x; // 或者 f(bool); f(x); // 在VC(嗯,C++)里会

其他的我也记不清了。

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
170 [报告]
发表于 2012-10-22 17:21 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP