c语言中“%e”表示什么意思?

Python07

c语言中“%e”表示什么意思?,第1张

C语言%e的意思是:以指数形式输出实数。

指针的值是语言实现(编译程序)相关的,但几乎所有实现中,指针的值都是一个表示地址空间中某个存储器单元的整数

printf函数族中对于%p一般以十六进制整数方式输出指针的值,附加前缀0x。

示例:

int

i

=

1

printf("%p",&i)

相当于

int

i

=

1

printf("0x%x",&i)

对于32位的指针,输出一般会是类似0xf0001234之类的结果。

%e存在的理由除了附加前缀输出的便利性以外,指针的大小是不确定的,由实现决定。

根据地址空间的大小,一般有16位、32位、64位的指针。

尽管目前32位平台上的指针一般全是32位的,但旧的一些平台上可能有多种长度的指针(例如非标准的near、far、huge修饰的pointer)混用,无法用%x、%lx、%hx、%llx(对应int、long、short、long

long)中的任意一种保证能输出所有类型的指针。

其余由“%”和格式字符组成的意义是:

%d整型输出,%ld长整型输出,

%o以八进制数形式输出整数,

%x以十六进制数形式输出整数,

%u以十进制数输出unsigned型数据(无符号数)。

%c用来输出一个字符,

%s用来输出一个字符串,

%f用来输出实数,以小数形式输出,

%e以指数形式输出实数,

%g根据大小自动选f格式或e格式,且不输出无意义的零。

E表示用科学技术法,做为一个字符串或者是定义的宏。

当变量E==0时候,此时把E当作表达式来看,表达式E的值为假,形如if(E)这样的语句不被执行。

当E是0的时候,表达式E的值是假,表达式!E的值是真,此时表达式E==0的值也是真;

当E不是0的时候,表达式E的值是真,表达式!E的值是假,此时表达式E==0的值也是假。

c语言中的E的使用示例:

#include"math.h"

voidmain()

{

doublee;

unsignedintn=65535;//用65535表示数学意义上的‘无穷大’

e=1+1.0/n;//注意一定写1.0

e=pow(e,n);//pow(doublex,doublen)表示求X的N次方

printf("%f",e);

}

%e是按指数的形式输出,比如 4.22e5

e表示10的N次方,5.2 长度为5,小数点精确度为2,这个本身和%e没有关系,C语言的输出就是标准就这样。

详细点的说明就是 %m.ne 指定输出的数值共占m位,其中有n位小数。若数值长度小于m,则左端补空格。若数值长度大于m,则按实际数值输出,小数位保留n位。

这是ptintf()的格式。

其他格式输出符如下图:

扩展资料:

printf函数用法:

F|N|h|l

表示指针是否是远指针或整数是否是长整数

F 远指针,N 近指针,h 短整数(short int),l 长整数(long int) (此处如果与d搭配为%lld则为long long int(C99),与f搭配为%llf则为long double(C99))

[Argument]

包含需要输出的数据,可以是常量(字符常量、数字常量、字符串常量),变量,以及运算式。此处的数据应当与前面的format中的格式控制符一一对应(如果不对应会产生错误)。