重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
%ld的转义字符并不是一定输出不了55.
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于做网站、成都网站建设、泰山网络推广、成都微信小程序、泰山网络营销、泰山企业策划、泰山品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供泰山建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
这个取决于系统对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语言的函数定义格式是:
函数类型 函数名称 ( 参数列表 )
{
//函数体
}
函数声明,不是说明的格式是“函数定义格式”的第一行,然后加 “;”,即:
函数类型 函数名称 ( 参数列表 );
特别地,在函数声明中的参数列表中,不需要给出具体的变量名称,但必须给出每个变量的类型。
%3d 表示输出3位整型数, 不够3位右对齐。%2d 表示输出2位整型数, 不够2位右对齐。
格式化规定字符, 以"%"开始, 后跟一个或几个规定字符,用来确定输出内容格式。在"%"和字母之间插进数字表示最大场宽。
比如%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为7,小数点占一位, 不够9位右对齐。
%8s表示输出8个字符的字符串, 不够8个字符右对齐。如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。
扩展资料:
printf()函数一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为: printf("式样化字符串",参数表);
其中式样化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出;另一部分是式样化规定字符, 以"%"开端, 后跟一个或几个规定字符, 用来确定输出内容式样。
参量表是需求输出的一系列参数, 其个数务必与式样化字符串所阐明的输出参数个数一样多, 各参数之间用","分开, 且顺序逐一对应, 不然将会出现意想不到的过失。
注意:函数printf从右到左压栈,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从栈顶开始的,所以我们看见的结果是,从右边开始处理的。
参考资料:
百度百科-printf