[C语言]易错点

1.a为double变量,并且a=(5/2+0.5+(int)1.87*2),那么printf("%f",a)显示的值是:4.500000

        ①先看5/2,分子分母都是int类型,结果所得为int类型,故结果省去小数,结果为2.

        ②再看(int)1.87*2,(int)为强制转换,需要注意的是强制转换为int类型是不会四舍五入的,直接省略小数部分,且强制转换的优先级高于运算符,故结果为1*2=2.

        ③printf函数以%f的形式也就是单精度,运算精度约在10进制七位,故整数位加小数位共七位

2.函数调用不可以做为另一个函数的形参,但可以做为实参。

3.执行语句int a=1,b=2,c=3;if(a=c)b++;else b--;后,变量b的值为:3

        ①注意if(a=c)这句,=为赋值符,==为逻辑符,C语言中规定0为假,非零为真,故此语句为真,执行b++,故结果为3.

4.函数的定义不可以嵌套,函数的调用可以嵌套;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值