C语言a---b

592 篇文章 8 订阅 ¥99.90 ¥299.90
本文介绍了C语言中编译器遵循的贪心读法,以解释a---b这样的表达式如何被解析。通过示例,详细阐述了a-- -b的执行过程,包括变量a和b的初始值以及最终结果,揭示了C语言中a--运算符的后置递减特性。
摘要由CSDN通过智能技术生成

C语言的编译遵循贪心读法,也就是说,对于有歧义的符号,编译器会一直读取,直到它的意思完结;
a---b,是a-- -b还是a- --b,根据贪心法则,读到第二个减号,意思完结,所以是a-- -b;

void CTestView::OnDraw(CDC* pDC)
{
	CTestDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	CString str1;
	int a = 9;
	int b = 2;

	int c = a --- b;
	str1.Format("%d", c);
	pDC->TextOut(50, 50, str1);
	str1.Format("%d", a);
	pDC->TextOut(50, 80, str1);
}

最初a等于9,b等于2;

c = a --- b,执行的是 c = (a--) - b;

C语言中 a-- 是a自身减1,是先完成表达式运算,再把a减1;

那么就是 c = 9 -2 = 7;

输出c的值为7;再输出a的值,a已经减1,输出8;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值