- / - Joona Palaste(pa*****@cc.helsinki.fi)---------------- ----------- \ | 飞翔的柠檬树中的金鸡王G ++ FR FW + M-#108 D + ADA N +++ | | http://www.helsinki.fi/~palaste W ++ B OP + | \ -----------------------------------------芬兰的规则! ------------ / 冰淇淋销售不知何故导致溺水:两者都发生在夏季。 - Antti Voipio& Arto WiklaWhen control reaches the end of func(), the returned value isindeterminate. When the assignment f=func(7) is done in main(), the Cimplementation tries to get a value from where there isn''t any. Onsome implementations, this is the last value put on a stack beforethe assignment happens, but there is no requirement that implementationsshould do this. There is no requirement for implementations to *have* astack in the first place.Generally, you just got (un)lucky.--/-- Joona Palaste (pa*****@cc.helsinki.fi) ---------------------------\| Kingpriest of "The Flying Lemon Tree" G++ FR FW+ M- #108 D+ ADA N+++|| http://www.helsinki.fi/~palaste W++ B OP+ |\----------------------------------------- Finland rules! ------------/"Ice cream sales somehow cause drownings: both happen in summer."- Antti Voipio & Arto Wikla 它没有。事实上,没有任何东西可以归还,因为在您的程序中的任何地方都没有返回 语句。 问候, Tristan - _ _V.-o Tristan Miller [en,(fr,de,ia)] ><空间有限 / |` - '' - = - = - = - = - = - = - = - = - = - = - = - = - = - = - =<> ;在ha句中,所以很难 (7_ \\ http://www.nothingisreal.com/ ><完成你的内容It doesn''t. In fact, nothing gets returned, since there is no returnstatement to be found anywhere in your program.Regards,Tristan--__V.-o Tristan Miller [en,(fr,de,ia)] >< Space is limited/ |`-'' -=-=-=-=-=-=-=-=-=-=-=-=-=-=-= <> In a haiku, so it''s hard(7_\\ http://www.nothingisreal.com/ >< To finish what you 纯粹你的代码通过使用一个实际上没有返回的函数返回的 值来调用未定义的行为。 nything,所以 *任何事情*都可能发生。 使用相同的编译器编译,在不同的平台上,输出是 不同: 导师:〜/ tmp 11> uname -a SunOS导师5.8 Generic_108528-11 sun4u sparc 导师:〜/ tmp 12> cat test.c #include< stdio.h> int func(int a); main() {int f; f = func(7); printf(" f =%d \ n", f); } int func(int a) { int f, d = 100; if(a< 10){ f = d; } } 导师:〜/ tmp 13> gcc test.c 导师:〜/ tmp 14> ./a.out f = 7 这在func()返回之前看起来不像f'的值,是吗? 根据你的逻辑,我应该开始问自己:为什么func()会返回其参数的 值? ;-) 道德:试图理解为什么一块损坏的代码行为与它的行为方式完全是浪费时间。 /> Dan - Dan Pop DESY Zeuthen,RZ集团 电子邮件: Da*****@ifh.de 这篇关于这为什么有效?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云! 09-05 10:12