关于C语言一点小问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 04:05:30
为什么以下是正确的
float r;
scanf("r=%f",&r);
而以下就变成了错误的呢
double r;
scanf("r=%lf",&r);

以上源于老师的课件,但是没有看懂,请教下各位大牛了

我在Borland c++下,2条都通过.

确实和编译器有关.

没必要深究,只能说编译器就是这么规定的

你用的是什么编译器? 有的编译器不支持特殊写法。浮点型特别需要注意。
另外注意:scanf语句中“”里面写的就是规定的格式,你调试的时候也一定要按那个格式写,不然会出错。
可以查一下scanf语句的用法

scanf("r=%f",&r);

你这样写必须连r=也要输进去

浮点型不建议直接这样输入 同时除了类型说明符外的其他字符也不建议出现在“”中