C语言练习

C语言



1. 函数可变参数实现

http://www.cnblogs.com/chengxuyuancc/archive/2013/05/30/3107058.html

http://c.biancheng.net/cpp/html/713.html


2. 二进制数转ASCII方法总结

  • 利用sprintf函数实现
void dword_to_ascii(unsigned long value,unsigned char *pdata)
{
    sprintf(pdata,"%u",value);

}

void hex_to_ascii(unsigned long value,unsigned char *pdata)
{
    sprintf(pdata,"%x",value);
}
  • 利用递归函数实现
void binary_to_ascii(unsigned long value,unsigned char **ppdata)
{
    unsigned long data=value/10;

    if(data != 0)
    {
        binary_to_ascii(data,ppdata);
    }
    *(*ppdata)++ = value%10+'0';
}
  • 测试代码
int main()
{
    char data_buf[30]={0};
    unsigned long value;
    char *pdata = data_buf;     

    scanf("%d",&value);
    printf("%d\r\n",value);
    binary_to_ascii(value,&pdata);
    printf("%s\r\n",data_buf);

    dword_to_ascii(value,data_buf);
    printf("%s\r\n",data_buf);

    hex_to_ascii(value,data_buf);
    printf("%x -> %s\r\n",value,data_buf);

    return 0;
}

这里写图片描述

3. sizeof数组

#include<stdio.h>
int main(void)
{
    int array[]={1,2,3,4,5};
    int *p = "asdfgjkl";
    printf("sizeof(array)=%d\r\n",sizeof(array));
    printf("sizeof(p)=%d\r\n",sizeof(p));
}
  • 结果
    这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值