我看到一个简单的C语言程序,但是有些地方不太懂

[复制链接]
查看11 | 回复3 | 2013-1-28 15:24:27 | 显示全部楼层 |阅读模式
应该是%lf。应该是scanf(“%lf",&fRadius);吧%lf和%d等都是格式输入输出函数的参数,%lf表示第二个参数是双精度浮点double类型的,%d表示整型int。你上边定义的fRadius变量是double类型的,要想让数据的值和类型都正确scanf参数必须写成相应的格式%lf。当然你写成%d也能编译通过,编译器会帮你强制转换,但是得到的结果就不是你想要的了。...
回复

使用道具 举报

千问 | 2013-1-28 15:24:27 | 显示全部楼层
scanf(“%lf",&fRadius);是从键盘输入一个双精度类型的值赋给fRadius另外就是%后跟的部分还可以是 a 读浮点值(仅适用于 C99) A 读浮点值(仅适用于 C99) c 读单字符 d 读十进制整数 i 读十进制、八进制、十六进制整数 e 读浮点数 E 读浮点数 f 读浮点数 F 读浮点数(仅适用...
回复

使用道具 举报

千问 | 2013-1-28 15:24:27 | 显示全部楼层
不是 %if 是%lf 吧……lf 表示输入(或输出)一个双精度浮点数,而d 表示输入(或输出)一个整数,因为这里用的是double,所以一定要用%lf ,否则就会输入(或输出)完全错误的数值……...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行