C语言完美演绎4-2

/* 范例:4-2 */

#include <stdio.h>

void main()

{

char *str = "null-terminator string";

int count; /* 记录%n前一字符输出位置(即输出字符数) */

int ComputerAddr; /* 计算机用的地址格式 */

/* Integer type */

printf("signed int(-20)\n");

printf("%%d:%d %%i:%i\n",-20,-20); /* 所有%%都只单纯输出%字符 */

printf("unsigned int(20)\n");

printf("%%o:%o %%u:%u %%x:%x %%X:%X\n",20,20,20,20);

/* Floating point type */

/* 0.0000456 = 4560e-8 但输出数因格式化符号f,e,g,E,G而不同 */

printf("Floating point(0.0000456(4560e-8))\n"); /* #1 */

printf("%%f:%f %%e:%e %%g:%g %%E:%E %%G:%G\n", \

4560e-8,0.0000456,4560e-8,0.0000456,4560e-8);

/* char (null string)type */

printf("char, char* string\n");

printf("%%c:%c %%s:%s\n",'A',str);

/* %n 前一字符输出位置(即输出字符数) */

printf("%%n前一字符输出位置(即输出字符数)\n");

printf("123%d %n\n",456,&count); /* 输出字符数存到&Count地址 */

printf("%d\n",count); /* #2 */

/* %p 计算机用的地址系统 */ /* #3 */

printf("%%p计算机用的地址格式\n");

printf("Address System: %p\n",&ComputerAddr);

getchar();

}

程序执行结果:

signed int(-20)

%d:-20 %i:-20

unsigned int(20)

%o:24 %u:20 %x:14 %X:14

Floating point(0.0000456(4560e-8))

%f:0.000046 %e:4.560000e-05 %g:4.56e-05 %E:4.560000E-05 %G:4.56E-05

char, char* string

%c:A %s:null-terminator string

%n前一字符输出位置(即输出字符数)

123456

7

%p计算机用的地址格式

Address System: 0064FDF8

相关推荐
T1mzhou5 小时前
ARM64 Linux 6.10内核启动流程7-ioremap和readl writel
linux·服务器·c语言
未来之窗软件服务10 小时前
计算机二级[英文]-C 字符串移动—东方仙盟
c语言·开发语言·仙盟创梦ide·东方仙盟
是隼人15 小时前
buuctf-pwn bypwn(ret2shellcode)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
T1mzhou16 小时前
ARM64 Linux 6.10内核启动流程6-psci.c和ATF/U-Boot 的电源接口
linux·服务器·c语言
是隼人16 小时前
buuctf-pwn PWN2(整数溢出)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
LuminousCPP17 小时前
数据结构 - 排序(二):快速排序从错误初版到优化版|双指针划分 + 三数取中 + 小区间插入优化
c语言·数据结构·笔记·算法·排序算法
竞赛考级题库17 小时前
202606 青少年等级考试C/C++真题一级 建议答题时长:60min
java·c语言·c++
迷茫、Peanut17 小时前
C语言混合链接
c语言
wdfk_prog18 小时前
RT-Thread Kconfig 配置明明是 y,为什么 rtconfig.h 就是不生成?一次 `_PATH` 后缀踩坑复盘
c语言
是隼人18 小时前
buuctf-pwn jarvisoj_level5(64位ret2libc)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门