永发信息网

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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯