鱼C论坛

 找回密码
 立即注册
查看: 3557|回复: 5

C语言++--的问题

[复制链接]
发表于 2012-5-4 23:45:06 | 显示全部楼层 |阅读模式
1鱼币
#include <stdio.h>

void main()
{
        int  k=5,     a  ;
        a= (++k) + (++k) + (++k);
        printf("%d=%d+%d+%d\n", a, (++k), (++k), (++k));
}



打出来的结果为什么是   22=11+10+9      

为什么不是  21=8+7+6   

最佳答案

查看完整内容

在运行a= (++k) + (++k) + (++k); 前两次相加是7+7然后再加8 还有printf输出加加减减时,它是从右往左匹配参数的,见到加加减减在后面就不运算,把i的值直接输出,凡是有加加,减减在前面的就依次运算后再输出
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-5-4 23:45:07 | 显示全部楼层
在运行a= (++k) + (++k) + (++k); 前两次相加是7+7然后再加8

还有printf输出加加减减时,它是从右往左匹配参数的,见到加加减减在后面就不运算,把i的值直接输出,凡是有加加,减减在前面的就依次运算后再输出
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-5-5 16:26:00 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-5-5 16:26:31 | 显示全部楼层
这个问题在这里,自己去看看吧。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-5-11 20:13:26 | 显示全部楼层
VC++6.0编译器,在运行a= (++k) + (++k) + (++k); 前两次相加是7+7然后再加8
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-5-12 16:48:02 | 显示全部楼层
本帖最后由 楚门 于 2012-5-12 16:49 编辑

浅谈C/C++中的顺序点和副作用http://c.chinaitlab.com/basic/850795.html    看看这个
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-13 05:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表