指引网

当前位置: 主页 > 编程开发 > C >

C语言中转换说明符%g的使用

来源:网络 作者:佚名 点击: 时间:2017-07-19 23:07
[摘要]  下面我们一起来看一个关于C语言中转换说明符%g的使用说明,文章以一个题目为例子一步步给我们详细的介绍了转换说明符的用法。

题目:

编写一个函数,返回一个double数组中最大的和最小的数之间的差值,并在一个简单的程序中测试这个函数。
对于题目无感,很容易,只是有一点疑惑,因为答案写的时候是

 代码如下 复制代码

printf("The gap between max and min is: %gn",gap( array, WIDTH));

感觉很神奇,%g是什么?在我的笔记-说明符中并没有记录,然后翻到书上的章节里,也没有详细介绍,只是把它归类为解释成浮点型。

结果输出:

2.6
9.2
The dif between max and min is : 6.6

没有多余的0,看着很舒服。

于是乎,理解了%g,很好的东西。

我写的完整版:

 代码如下 复制代码

#include <stdio.h>
#define WIDTH 6
float dif(double [], int num);
int main(void)
{
 double array[] = {4.3, 5.3, 2.6, 9.2, 2.8, 3.6};
 printf("The dif between max and min is : %g", dif(array, WIDTH));
 return 0;
}
float dif(double array[], int num)
{
 int i;
 float max, min;
 for (i = 0, max = *array, min = *array; i < num; i++) {
 if (*(array + i) > max)
 max = *(array + i);
 if (*(array + i) < min)
 min = *(array + i);
 }
 printf("%gn", min);
 printf("%gn", max);
 return max - min;
}

------分隔线----------------------------