免费注册 查看新帖 |

Chinaunix

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

[C] “无知不可怕,可怕的是夜郎自大”——方兆国的奇葩贴汇总 [复制链接]

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

论坛徽章:
0
42 [报告]
发表于 2013-01-19 19:32 |只看该作者
回复 41# pmerofc


    呵呵

论坛徽章:
0
43 [报告]
发表于 2013-01-19 19:47 |只看该作者
本帖最后由 MiracleNo1 于 2013-01-19 19:48 编辑

无聊死了

论坛徽章:
44
15-16赛季CBA联赛之浙江
日期:2021-10-11 02:03:59程序设计版块每日发帖之星
日期:2016-07-02 06:20:0015-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:452016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之山东
日期:2016-04-17 12:00:2815-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:3615-16赛季CBA联赛之天津
日期:2016-11-02 00:33:1215-16赛季CBA联赛之浙江
日期:2017-01-13 01:31:49
44 [报告]
发表于 2013-01-19 21:27 |只看该作者
回复 5# pmerofc

这个…………0做分母和“洛必达法则”有关系么…………这和“哥德巴赫猜想就是1+1”有异曲同工之妙啊…………

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

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

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

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
48 [报告]
发表于 2013-01-19 23:25 |只看该作者
回复 37# timothyqiu


    难道我没看么?问题是对方根本就是答非所问好吗?

我其实是很赞同你说的虚函数那个说法的。但是这里有个问题,那就是其他的编译器实现商未必保证这个东西一定有定义。

行为不是定义。定义是目的,是和“正确性”这种概念相似的一种虚无飘渺的东西,而行为是具体的概念的外延。如果概念本身就不存在,那么显而易见这种外延就是不稳定了。哪怕编译器版本的改变,也可能会导致行为的改变。

事实上,各大编译器厂商都遵从C标准,刻意不去定义这些行为。

行为不是定义!

这些观点以后不再解释,我没有科普的义务。

另外说说答非所问的问题。我们先讨论的话题是“在程序中使用未定义行为是有危害的”,可是方兆国却说“你看,这个行为是定义过的”,现在的问题就是两个了,如果说的是具体实现,那不是叫“定义”而叫“具体行为”,这就是答非所问了。我说跳坑是不好的,你说其实跳坑是写小说的时候留悬念的意思。这不是答非所问么。另外,如果大家所谓的“定义”是同一个概念的话,那方兆国同学就是严重的概念缺失了,需要补课以后再来讨论。就是这样。



论坛徽章:
0
49 [报告]
发表于 2013-01-19 23:44 |只看该作者
回复 48# starwing83

(前提:不是说没看懂你对于未定义行为的说法,所以义务什么的谁都没有。)

首先,我只是针对 PM 大神 2 楼的评论而发表的评论。

然后,PM 大神单单引用了 65 楼的帖子,那么我认为他的意思是这个帖子有问题。

所以,我想说的是,65 楼的帖子没有问题。

于是,65 楼的帖子为什么没有问题?

首先,65 楼的帖子里,原作者先引用了自己在 64 楼的帖子,然后给出了一系列推导「解释」。

那么,我理解为:65 楼是针对 64 楼的解释。

所以,「65 楼有没有问题」成了「65 楼对 64 楼的解释存在问题吗?」

那么,65 楼对 64 楼的解释存在问题吗?

首先,64 楼的帖子里,原作者承认了自己的错误(「很抱歉,我确实错了……C 语言基础不大好」),然后给出了自己的运行截图,截图中显示结果是 -40

那么,我认为原作者并不想通过 65 楼的举动证明自己之前结论的正确性,因为他已经承认了错误,所以和未定义行为啊什么的完全扯不上边。(这一点我没有义务再解释了)

于是,我将 65 楼的解释理解为「对64 楼截图中为什么显示 -40」的解释。

所以,既然是解释自己编译出来的程序为什么显示 -40,那么这件事情和未定义行为有半毛钱关系么?(这一点我没有义务再解释了)

所以,我认为65 楼对 64 楼的解释不存在问题。

以上。

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
50 [报告]
发表于 2013-01-20 01:42 |只看该作者
回复 49# timothyqiu


    好吧我回去重新看了一眼原帖(之前觉得对这个结果进行解释是很无聊的事情)。

结果果然是很无聊的事情。

因为事实上根本不是这么算的,这种解释是很自欺欺人的误导。

事实上,编译出的汇编表示,这段程序实际上是干了这么一件事:

1. "%d"入栈
2. -40入栈
3. 调用printf

我想说的事情是,虽然结果给你了-40,但是对其的任何解释都是徒劳的,因为这个-40是未定义行为产生的结果,你最多只能说明某个已经编译好了的程序的行为(也许是方兆国的描述),但是你无法说明这是编译器处理这种情况的一贯行为。这就是未定义的含义。作为符合C标准的编译器都必须承认这是未定义的,因此都不会给出任何解释。“没有解释”才是唯一正确的解释。除此以外的任何解释都是荒诞可笑的(包括我上面那个123),所以即使单独抽出这个帖子来看,方兆国的帖子依然是荒谬的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP