%d,%o,%x,%u知道是什么意思吧?然后是哪里不明白呢?计算机内部存储是采取补码的形式,就是原数据取反加一,你可以用二进制写一下65535,再写一下-1,你会发现都是一样的,只是65535是无符号型,首位是作为数据位,而普通的整形,默认首位是标志位。负数则为1
四种用法
1.printf("字符串");
----printf("打字不易 求分")
2.printf("输出控制符",输出参数);
----printf("%d",i) 表示整形输出参数i中的数据
3.printf("输出控制符1 输出控制符2。。。。",输出参数1,输出参数2。。。。);
-----printf("%d %c",i,j); 表示分别以整形和字符型输出参数i,j中的数据
4.printf("输出控制符 非输出控制符",输出参数);
---printf("%d\n",i) //其中\n为转义字符 表示换行 表示整形输出参数i中的数据并且输出玩后光标进行换行
输出控制符包含如下
%d -- int 整形
%ld -- long int 长整形
%c -- char 字符型
%f -- float 浮点型(实数型)
%lf -- double 双倍浮点型
%x(或者%X或者%#X或者%#x) -- int 或 long int 或short int 16进制输出X的大小写分别代表了输出字符中字母的大小写 如3f和3F的区别 有#的输出的十六进制数前有0x字样便于辨识 如0x3f
%o --同上 八进制输出
%s -- 字符串
希望对你理解printf函数有帮助
%d:整形变量(十进制); %o:八进制 ;%x:十六进制 ;%u:无符号整形变量
分别输出他们的十进制,八进制,十六进制数
关键在i是无符号短整形 j是短整形