C语言基础知识

printf函数向终端输出若干个任意类型的数据。

表示输出类型的格式字符     格式字符意义
a                    浮点数、十六进制数字和p-计数法(C99)
A                    浮点数、十六进制数字和p-计数法(C99)
c       输出单个字符
d      以十进制形式输出带符号整数(正数不输出符号)
e      以指数形式输出单、双精度实数
E      以指数形式输出单、双精度实数
f       以小数形式输出单、双精度实数
g     以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大于等于精度时使用
G     以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大于等于精度时使用
i                    有符号十进制整数(与%d相同)
o      以八进制形式输出无符号整数(不输出前缀O)
p                   指针
s      输出字符串
x      以十六进制形式输出无符号整数(不输出前缀OX)
X     以十六进制形式输出无符号整数(不输出前缀OX)
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中。

 

 

 

 
posted @ 2017-06-18 22:43  小丁木  阅读(255)  评论(0编辑  收藏  举报