为什么我们不能从C中的函数返回多个值?理由好吗?

kap*_*dit 0 c

如果可能,那么如何返回多个值.它不能因为返回是通过控制器或CPU中的累加器完成的.

这是正确的理由吗?

Oli*_*rth 9

因为这就是语言的定义方式.没有根本原因; 其他语言可以返回多个值(例如Matlab).

作为"变通方法",您可以返回包含多个字段的结构.

  • 最接近我可以认为"基本"原因是C中的表达式具有值(或无效),而不是多个值.因此,对于函数调用是一个表达式,函数必须返回一个值(或void),而不是多个值.它与CPU寄存器,堆栈或内存无关.如果语言设计者想要以不同的方式做事,那么这一切都可以解决. (5认同)
  • @kapilddit:因为那是语言的定义. (2认同)