1个回答
展开全部
i 初始值为2;
i++ 返回值为2,自加1成3;
++i 自加1成4后返回值4。
输出结果:2 2 4
i++ 返回值为2,自加1成3;
++i 自加1成4后返回值4。
输出结果:2 2 4
追问
但是我的一个编译器输出的结果是4 3 4;另一个编译器输出的结果是3 3 3.但是我把它分开来printf得到的结果是 2 2 4.这到底是为什么啊
追答
这个是printf()函数的问题了,不同编译环境处理方法不一样导致的。
也就是printf()内部运算时对3个参数引用的顺序可能导致这种结果。所以函数参数赋值不建议这么用——考试题就是瞎整,实际这么干简直就是“噩梦”。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询