- c语言longlong型怎么输出?
- 如何用含有long的C语言求一到八的阶乘?
- longcross是什么函数?
- c语言中说明符问题,用long long u=55,在用printf()函数输出时,分别用%ld和?
- long int型数据输出格式?
c语言longlong型怎么输出?
在c语言中,对于数值类型只有通过printf类函数输出这一种方式,比如printf, sprintf, fprintf等。这类函数输出时要求有格式符号,其中long double的格式符号为%llf 以下是一个简单的参考代码,输出到标准输出设备。
#include int main() { long double v = 1.23; printf("%llf\n", v);//***用%llf格式输出long double 类型 return 0; }
关于long double, 需要说明的是,在原始的c标准中是没有这个类型的,c99中才添加了该类型。而在c99及后续的规范中,对于该类型规定的也并不详细,只是要求long double类型在精度上需要不少于double的精度。于是就出现了有的编译器不支持long double, 而支持的编译器在实现上也有所区别,目前常见的long double有占用8字节,10字节,12字节和16字节四种,但输出格式都是相同的%llf。
如果想知道使用的编译器是如何实现的,可以用printf("%d", sizeof(long double));输出long double占用的空间值。
如何用含有long的C语言求一到八的阶乘?
//阶乘计算函数 long sum (long k){ long sum=i; for(long i=1;i<=k;i++){ sum=sum*i; //实现阶乘 } return sum; }
longcross是什么函数?
LONGCROSS是一个未来函数。它的含义是维持一定周期后上穿,两条线维持一定周期后交叉。
它的用法是:LONGCROSS(A,B,N),表示A在N周期内都小于B,本周期从下方向上穿过B时返回1,否则返回0。
c语言中说明符问题,用long long u=55,在用printf()函数输出时,分别用%ld和?
这个取决于系统对int类型的定义。也取决于你系统的大小端存储问题。
系统类型情况:当你的系统的是16位的,你的int就是2个字节。而long long 类型是标准的8字节类型不受系统限制,long int 是标准的4字节。 %lld是long long int类型的转义字符。 %ld 是 long int 类型的转移字符。此处你的u = 55.此处并没有超出long int 的范围所以这种情况输出的都是55.
大小端情况:
举例: u=55;long long int 如果存储方式为: 0x 37 00 00 00 00 00 00 00
同时你的编译器将对long int 取数为 long long int 的低4位。那么你的%ld输出可能是0
如楼上说所,也就是类型不匹配,当然同时取决你的编译器。我使用的gnu g++ 和gnu gcc 编译你的代码都没有问题。都能输出55
long int型数据输出格式?
c语言中有一个和long long类型想同的类型是int64,使用的格式是%I64d,如果是long long 那么格式是%lld。
1、使用%lld格式输出long是C99标准对整型类型做的扩展,每个long long类型的变量占8字节,64位其表示范围为9223372036854775808~9223372036854775807。
2、long 类型输出的时候,需要用printf函数,用%lld格式输出示例代码long long a = 1234;printf("a=%lld\n", a)。