网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月11日漏签0天
c语言吧 关注:798,817贴子:4,356,096
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 25回复贴,共1页
<<返回c语言吧
>0< 加载中...

关于#define的一些探讨,有兴趣的童孩可以一起讨论讨论!

  • 只看楼主
  • 收藏

  • 回复
  • 还是早点睡吧
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在《The C Programming Language》中对#define 的讲解有这样一段描述的话:
“
#define MAX(A,B) (((A)>(B))?(A):(B))
仔细考虑一下max的展开式,就会发现它存在一些缺陷。其中,作为参数的表达式要重复计算两次,如果表达式存在副作用(比如好友自增运算符或输入/输出),则会出现不正确的情况。例如:
max(i++,j++) /*wrong*/
它将对每个参数执行两次自增操作。
”
但我进行了一下测试,发现和上面描述的结果不一致,现在问题来了,到底是我理解错了,还是上面这段话有问题,希望有兴趣的童孩能指导指导。


  • 还是早点睡吧
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
i++


2025-06-11 05:07:13
广告
  • 还是早点睡吧
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
自加1


  • 还是早点睡吧
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
i ++


  • 中给我输了怪我
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
理解没错,代码没错,你再输出一遍j就会发现是5了


  • 还是早点睡吧
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
自加1


  • cody_yan1984
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个贴马上要被删掉了...
趁还没没删,赶紧水把


  • cody_yan1984
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个贴马上要被删掉了...
趁还没没删,赶紧水把


2025-06-11 05:01:13
广告
  • cody_yan1984
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个贴马上要被删掉了...
趁还没没删,赶紧水把


  • cody_yan1984
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个贴马上要被删掉了...
趁还没没删,赶紧再水把


  • cody_yan1984
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
i++ > j++ ? i++ : j++;
undefined behavior


  • cody_yan1984
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个贴马上要被删掉了...
趁还没没删,赶紧水把


  • wuyz_5
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
很简单,假如为真,那么前面的A为i++的初值,但后面的A却为i++过后的值,故而前面A的值与后面A的值是不同的。


  • 还是早点睡吧
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
但细细想来,这个程序还有一个很有意思的地方,那就是,在判断表达式运算的时候,编译器的自动省略运行不符合条件的表达式,如:

当a > b 这表达式为真时,程序不会再去执行a++ 这表达式,所以上面的 i = 3, j = 5,也就是没有执行 i++这个表达式。


2025-06-11 04:55:13
广告
  • 还是早点睡吧
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
直接复制粘贴的代码不一定能运行,这是什么原因了?


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 25回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示