关于不同的编译器使用过程中遇到的问题!

本文探讨了在不同编译器如Tiny C、MinGW、微软VC2005-2010、Borland C++、Digital Mars以及OpenWatcom C++中,long double的支持情况和局部变量定义的限制。发现微软VC实际上伪支持long double,而Borland C++和Digital Mars提供了真正的支持。此外,C语言程序在某些编译器中不允许在语句间定义局部变量,而在C++程序中则没有此限制。
摘要由CSDN通过智能技术生成

1.long double支持的问题

 

测试程序:

 

 (1)Tiny C

              编译0警告,0错误

              执行,scanf无法接受数据

(2)MinGW

              编译警告,不认识“L”格式字符

              执行,scanf无法接受数据

(3)微软VC2005-2010

            编译警告scanf过时,推荐用scanf_s代替 0错误

           忽略警告,执行成功,一切正常。

           发现微软VC中double 和long double都是8个字节,也就是说微软实际上是伪支持long double,而TCC和MinGW中都是12个字节的long double。

       

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值