C语言%ld 和%d输出有什么差别

C语言%ld 和%d输出有什么差别
以ld输出1和以d输出1一样吗?

C语言%ld用来输出长整型数。
%d用来输出整型数。
因为格式符指明了输出指定的起始地址开始的若干个字节的内容(把它们作为长整型数或整型数来解释),所以,如果用错了对象,就会得出意想不到的结果。如果用%d来输出长整型数,就会只取它的头上几个字节,相当于对原来的长整型数取了模;而如果用%ld来输出整型数,因为实际的数字节数少而硬要取更多的字节,就会发生“把别人家的孩子领回家”的事,把别的数据解释为当前的值了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-12-14
%ld 的话 输出的字节要长点 %d 的要短点。比如,一个数大于32767 用%d 就要溢出。假如你想输出32768.用%d 就会输出-1.这就是溢出。但是用%ld 就不会。它能接受的数的范围大些!希望你懂了!
输出-32768~32767以内的数都一样!本回答被提问者采纳
第2个回答  2009-12-13
%ld是输出长整型,%d是输出整型。
对现在的C编译器来说,没有很大的差别。
都是输出4biyt的整型。
第3个回答  2009-12-13
%d输出整型,%ld输出长整型。
第4个回答  2009-12-13
输出个1当然两者没区别了.

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

C语言%ld 和%d输出有什么差别
C语言%ld用来输出长整型数。d用来输出整型数。因为格式符指明了输出指定的起始地址开始的若干个字节的内容(把它们作为长整型数或整型数来解释),所以,如果用错了对象,就会得出意想不到的结果。如果用%d来输出长整型数,就会只取它的头上几个字节,相当于对原来的长整型数取了模;而如果用%ld来输出...

% ld和% d有什么区别?
1、%ld表示数据按十进制有符号长型整数输入或输出,如果是32位,输出4字节。2、%d表示数据按十进制有符号整型数输入或输出,如果编译器32位,可以输出8字节。示例:printf("%5d\\n",1000);\/\/默认右对齐,左边补空格 printf("%-5d\\n",1000);\/\/左对齐,右边补空格 printf("%+d%+d\\n",1000,-1...

C语言中,printf的%d可以输出多少数据长度%ld可以输出多少?
在C语言中,%d与%ld是用于控制输出数据格式的关键字符。%d代表有符号十进制整数,对于32位编译器,它能输出8字节,足以存储大部分整数。而%ld则表示有符号长整型,对于同样是32位的系统,它会输出4字节,适用于需要更大范围整数的情况。例如,printf("%5d",1000)会右对齐并用空格填充,而printf("%-5...

c语言里面的%ld、%d、%u都是什么意思啊?
1. %ld: 这是长整型的格式控制符。长整型数据通常用于存储较大范围的整数。在输出时,%ld用于指定输出长整型的值。例如:`printf;`。2. %d: 这是十进制整型的格式控制符。int是C语言中基本的整数类型,其范围相对较小。当我们需要输出一个普通大小的整数时,可以使用%d。例如:`printf;`。3. %u...

C语言里面的%ld、%d、%U都是什么意思啊?
(1)%ld表示数据按十进制有符号长型整数输入或输出。(2)%d表示数据按十进制有符号整型数输入或输出。(3)%u表示数据按十进制无符号整型数输入或输出。格式说明符由%和格式字符组成。在一个格式控制字符串中可以有多个格式说明符,每一组格式说明符都是以%开始,以一个格式字符作为结束。具体类型和...

C语言里面的%ld、%d、%U都是什么意思啊?
在C语言中,%ld、%d、%u是一组用于格式控制的特殊符号,它们的作用是规定数据在输入或输出时的显示格式。具体来说:%ld用于表示有符号的长整型数据,无论是输入还是输出,都会按照这种格式进行操作。d则是用于有符号的整型数据,同样地,它会按照指定的十进制格式进行处理。而%u则专门用于无符号整型数据,...

C语言printf语句里%ld是什么意思
ld 的 L 是 long 的意思。%ld 表示按 long int 格式 (有符号长整型数格式)输出。一般编译器 %ld 和 %d 是一样的。例如 MS VC++ 6.0, printf("%d",3276899); 输出 3276899。{ MS VC++ 6.0 中 64位整型,用 _int64 x=12345678976; 这种变量 输出格式用 printf("%...

C语言中长整型的输出格式是否必须是%ld?
这个和编译器有关。在32位编译器和编译模式下,int 和 long 是等同的,都是32bit 整数,因此 %d 和 %ld 也是等同的。ld是16位下使用的格式,在目前流行的32位模式下,这个不是标准输出格式了。

C语言的%ld、%d、%U是啥意思啊?
x对应int型,不过是以16进制输入输出。lx对应long型,同样是16进制形式。以下是一个简单的例子:include <stdio.h>int main(){ int i; long l; unsigned int u;\/\/定义三个不同类型的变量。 scanf("%d%ld%u",&i,&l,&u);\/\/格式化输入三种变量,每个对应自己的类型。 printf(...

C语言的%ld、%d、%U是啥意思啊?
变量格式..例如printf("%d",a);双引号里的东东是由后面的变量的类型决定的,若a是long型,则用%ld,若是float型则用%f

相似回答