
C语言的小角落
文章平均质量分 79
补充可能忽略的C语言知识
9ilk
爱码人士
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C语言的小角落】--- 深度理解取余/取模运算
C语言 vs2019int main()int d = 3;//C语言中是-3,很好理解return 0;很显然,上面关于取模的定义,并不能满足语言上的取模运算 : 在C语言测试环境下,10%3得到的余数不满足r>0的要求。如果a和d是两个自然数,d非零,可以证明存在两个唯一的整数 q 和 r,满足 a = q*d + r , q 为整数,且0 ≤ |r|< |d|。其中,q 被称为商,r 被称为余数。对于C:-10 = (-3) * 3 + (-1) ,其中0 < |-1| < 3。原创 2025-01-03 19:51:40 · 1761 阅读 · 29 评论 -
【C语言的小角落】逻辑与逻辑或混合计算
跟之前分析一样表达式等价于(x==0 && ++y) || ++ z ,转化为xxx || xxx ,左边括起来的部分由于x不为1直接短路所以右边的++y不计算,故左边的xxx就是0,由于逻辑或短路特性,继续计算++y。x == 1 || (++y && ++ z) ,也就是说 || 左边是一个整体 右边括号括起来的是一个整体,由于左边部分表达式为true,所以整个表达式短路右边括号括起来的部分直接就不计算了。有的小伙伴可能会疑惑这里的&&不是优先级比| |高,z和y不是都该加1?原创 2024-02-20 11:48:57 · 1039 阅读 · 61 评论