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

C语言%ld 和%d输出有什么差别以ld输出1和以d输出1一样吗?
2024-11-15 02:27:23
推荐回答(5个)
回答(1):

C语言%ld用来输出长整型数。
%d用来输出整型数。
因为格式符指明了输出指定的起始地址开始的若干个字节的内容(把它们作为长整型数或整型数来解释),所以,如果用错了对象,就会得出意想不到的结果。如果用%d来输出长整型数,就会只取它的头上几个字节,相当于对原来的长整型数取了模;而如果用%ld来输出整型数,因为实际的数字节数少而硬要取更多的字节,就会发生“把别人家的孩子领回家”的事,把别的数据解释为当前的值了。

回答(2):

%ld 的话 输出的字节要长点 %d 的要短点。比如,一个数大于32767 用%d 就要溢出。假如你想输出32768.用%d 就会输出-1.这就是溢出。但是用%ld 就不会。它能接受的数的范围大些!希望你懂了!
输出-32768~32767以内的数都一样!

回答(3):

%ld是输出长整型,%d是输出整型。
对现在的C编译器来说,没有很大的差别。
都是输出4biyt的整型。

回答(4):

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

回答(5):

输出个1当然两者没区别了.

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