【发布时间】:2014-03-15 01:02:42
【问题描述】:
在实现中缀到后缀的同时,反之亦然算法
我找到了,
char * str = (char*) malloc(1);
strcpy(str,str2);
即使str2 超过 1 个字符(20 个字符或更多),这也有效。
我没有收到任何警告或运行时错误。
这怎么可能?
注意:
我也没有得到垃圾。
无论str2 是什么,我总是得到所需的结果。
【问题讨论】:
-
FWIW,这是许多安全漏洞的根本原因。这就是大多数 C 程序员避免使用这些函数的原因。
-
“我总是得到所需的结果”,嗯总是是很长的时间。在不同的平台、不同的操作系统(或没有操作系统)上尝试相同的代码。代码将不 总是得到所需的结果。
标签: c