c语言中为什么scanf中不能定义%g?
答案:1 悬赏:70 手机版
解决时间 2021-12-18 11:05
- 提问者网友:献世佛
- 2021-12-17 18:29
c语言中为什么scanf中不能定义%g?
最佳答案
- 五星知识达人网友:怀裏藏嬌
- 2021-12-17 18:55
C语言中的scanf是能够定义%g的,不过赋值的变量必须是float类型的,不然输入输出的结果是不一样的,也就是用于输入时%g跟%f是差不多的功能。
%g用来输出实数时,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的0。即%g是根据结果自动选择科学记数法还是一般的小数记数法
比如下面这个例子:
#include<stdio.h>
int main(void)
{
float x;
scanf("%g",&x);
printf("%g\n",x);
} 输入123 输出123;
输入1.23 输出1.23;
输入0.00123 输出0.00123
输入0.0000123 输出1.23e-005
%g用来输出实数时,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的0。即%g是根据结果自动选择科学记数法还是一般的小数记数法
比如下面这个例子:
#include<stdio.h>
int main(void)
{
float x;
scanf("%g",&x);
printf("%g\n",x);
} 输入123 输出123;
输入1.23 输出1.23;
输入0.00123 输出0.00123
输入0.0000123 输出1.23e-005
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |