大家好,今天小编关注到一个比较有意思的话题,就是关于c语言 long 输出的问题,于是小编就整理了2个相关介绍c语言 long 输出的解答,让我们一起看看吧。
c语言如何用printf输出long long类型?
C语言中输出long long型数据使用%lld格式输出的方法:
1、 long long 是C99标准对整型类型做的扩展,每个long long类型的变量占8字节,64位。其表示范围为-9223372036854775808~9223372036854775807。
2、long long 类型输出的时候,需要用printf函数,用%lld格式输出。 示例代码如下:
long long a = 1234;printf("a=%lld\n", a)。
3、输出的各种可用于%d上的格式控制,均可用于%lld上,比如%10lld,表示输出占十位宽度等。
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
到此,以上就是小编对于c语言 long 输出的问题就介绍到这了,希望介绍关于c语言 long 输出的2点解答对大家有用。