2020-12-04

C语言之类型溢出问题+

一、类型溢出问题
1.初学者常常不注意数据范围,认为阶乘的结果自然是int类型,从而造成类型溢出导致结果错误。
2.64位整型的类型名为long long,格式转换为%IId。

二、逗号运算符及其表达式
1.for(fact=1, i=1; i<= n; i++)中的表达式1––fact=1, i=1是使用逗号分隔的表达式组。用逗号分隔的表达式组,称为逗号表达式。
这里所说的逗号也称为逗号运算符,又称为顺序求值运算符,它用来确保表达式组中的各个表达式依次从左向右求值。
整个逗号表达式组的数据类型及其数值,取决于表达式组中最右边那个表达式的数据类型及其数值。
逗号运算符主要用于for循环语句中,它的基本用途是支持for语句中使用多个初始化表达式或多个增量表达式。
⑴一般形式:
表达式1,表达式2,…,表达式n
例如:3+5,69;
x=2,y= x+4,z= x
y;
⑵求解过程:
从左至右,依次计算,最后一个表达式的值就是整个表达式的值。例如,逗号表达式3+5,49的值为36。
⑶逗号运算符的优先级低于赋值运算符。
a=(3+5,4
9);/则a的值为36/
a=3+5,49;/则a的值8,赋值运算优先级 高于逗号运算/
b=(a=3+5,4
9);/则b的值为36, b的值为8/
x=2, y= x+4, z= xy;/则z的值为12,逗号表达式的值为12/
⑷逗号表达式的应用:
①顺序求值,如:
x=2, y=x+4,z=x
y;
②有时可用逗号表达式代替花括号的作用。
花括号的作用是把多个语句当做一个复合语句,有时候逗号也可以起到同样的效果,并使语句更简化紧凑,特别是多个承接而又相对独立的语句。例如两个变量的互换,若写成如下逗号表达式则更为简洁。
if(a>b)
t=a,a=b,b=t;
③在只能用一个表达式的语法限制下进行多项操作,可用逗号表达式,常用于for语句或while语句的圆括号内。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值