printf函数向终端输出若干个任意类型的数据。
表示输出类型的格式字符 格式字符意义
a 浮点数、十六进制数字和p-计数法(C99)
A 浮点数、十六进制数字和p-计数法(C99)
c 输出单个字符
d 以十进制形式输出带符号整数(正数不输出符号)
d 以十进制形式输出带符号整数(正数不输出符号)
e 以指数形式输出单、双精度实数
E 以指数形式输出单、双精度实数
f 以小数形式输出单、双精度实数
g 以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大于等于精度时使用
G 以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大于等于精度时使用
i 有符号十进制整数(与%d相同)
o 以八进制形式输出无符号整数(不输出前缀O)
G 以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大于等于精度时使用
i 有符号十进制整数(与%d相同)
o 以八进制形式输出无符号整数(不输出前缀O)
p 指针
s 输出字符串
x 以十六进制形式输出无符号整数(不输出前缀OX)
x 以十六进制形式输出无符号整数(不输出前缀OX)
X 以十六进制形式输出无符号整数(不输出前缀OX)
u 以十进制形式输出无符号整数
u 以十进制形式输出无符号整数
printf("%d/n" , i);输出整型变量i;
memcpy函数
原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#include <string.h>
功能:由src所指内存区域复制count个字节到dest所指内存区域。
说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。
参数说明:dest为目的字符串,src为源字符串,count为要拷贝的字节数。
函数功能:将字符串src中的前count个字节拷贝到dest中。
#include <stdio.h> #include <string.h> int main() { double s[3]; double d[3]; s[0]=1.25434; s[1]=32.43243; s[2]=-11.23432; memcpy(&d[0],s,24); printf("%f\r\n",d[0]); printf("%f\r\n",d[1]); printf("%f",d[2]); getchar(); return 0; }
结果:d[0]=1.254340,d[1]=32.432430,d[2]=-11.234320
double类型变量为双精度变量,占8个字节,即64位。默认%f输出时精确到后6位。
float类型变量为单精度变量,占4个字节,即32位。
代码中double类型数组s[3]中有3个double型常量,总共占24个字节,memcpy(&d[0],s,24);即将数组s内容从0地址开始拷贝到数组d中。