printf的输出相关

#include <stdio.h>

void main()
{
 // printf的输出是发现是二进制就转换输出

 int num = -1;

 printf("%d\n", num);    // -1
 printf("%u\n", num);    
 /* 首先 -1  1000 0000  0000 0000  0000 0000  0000 0001 
 反码1111 1111  1111 1111  1111 1111  1111 1110
 补码1111 1111  1111 1111  1111 1111  1111 1111
 输出,就是 4294967295*/

 int num1 = 4294967295;

 printf("%d\n", num1);
 /*unsigned int a = 4294967295 转成2进制就是   1111 1111  1111 1111  1111 1111  1111 1111
 %d不取符号位 1000 0000  0000 0000  0000 0000  0000 0000
 补码 1000 0000  0000 0000  0000 0000  0000 0001
 输出就是-1*/
 printf("%u\n", num1);    // 4294967295

 unsigned int a = 4294967295;
 printf("%d\n", a);
 /*%d按照有符号来解析,和上面一样,输出的是-1*/
 printf("%u\n", a);  // 4294967295

 unsigned int a1 = -1;
 printf("%d\n", a1);    // -1
 printf("%u\n", a1);    // 4294967295

 getchar();
}


// 输出的如果是双引号,需要在双引号前面加\
// 同样的,输出\ 也需要在\前加\
printf("\"");
printf("\\");

char a =  '1';
printf("%d", a);对应ASCCII码值    49


printf默认是右对齐
printf("%d", 3);    // 根据输出分配宽度
printf("%10d", 3);    // 宽度是10
printf("%2d", 234);    // 输出还是234,大于实际宽度,根据输出分配宽度
printf("%010d", 235);// 默认填充0
printf("%-d", 2);    // 负号右对齐

char str[100] = "12345";
printf("%.2s", str);    // 截取两个,输出结果是12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值