【问题标题】:Pre increment and post increment function call前增量和后增量函数调用
【发布时间】:2014-07-18 13:43:01
【问题描述】:
#include<stdio.h>
int main()
{
void add();
int i=2;
add(i++,--i);  
print("%d",i)      
}
void add(int a,int b)
{
print("%d %d",a,b);
}

/*a 和 b 的值是什么我实际上没有得到答案为什么 b 是 2 */

【问题讨论】:

标签: c undefined-behavior post-increment pre-increment


【解决方案1】:

在调用 add() 的第 6 行

第一个参数是 i++,所以它会将值 2 即 i 的值发送给函数,然后现在 i=3 加 1。

第二个参数是 --i 现在它会减去 1,现在 i 将再次为 2,然后将值 2 发送到函数

所以我认为你的答案会打印出来 2 2(即 a 和 b 的值) 2(即i的值)

【讨论】:

  • 您确定吗,因为它正在我的系统中打印 a=2 和 b=2。
猜你喜欢
  • 2012-09-15
  • 2012-03-07
  • 2013-05-04
  • 1970-01-01
  • 2014-12-09
  • 2011-09-18
  • 2012-06-01
  • 2013-05-27
相关资源
最近更新 更多