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,很好的东西。
我写的完整版:
<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy2409')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy2409>#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;
}
您可能感兴趣的文章:
C语言中转换说明符%g的使用
php怎么判断一个数字是几位数?
Golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf
每天一点Go语言——变量、常量、运算符解析
golang语言strconv包使用例子
js replace函数用法详解
初识GO语言以及GO语言安装及环境搭建
c语言学习的简要笔记
从零开始学习GO语言-搭建Go语言开发环境-快速开发入门第一个小程序
第02章 Go语言基本语法