分类 技术 下的文章

C转移表

#include<stdio.h>
#include<stdlib.h>

float add(float a,float b)
{
    return a+b;
}
float sub(float a,float b)
{
    return a-b;
}
float mul(float a,float b)
{
    return a*b;
}
float div2(float a,float b)
{
    return a/b;
}

int main(void)
{
    float(*operate[])(float,float)={add,sub,mul,div2};
    float number_a,number_b;
    float result;
    int oprate;

    printf("input the operator!1 is +,2 is -,3 is *,4 is /\n");
    scanf("%d",&oprate);
    fflush(stdin);
    while(oprate>4||oprate<1)
    {
        printf("input error!input the operator!1 is +,2 is -,3 is *,4 is /\n");
        scanf("%d",&oprate);
        fflush(stdin);
    }
    fflush(stdin);
    printf("Input the number_a:");
    scanf("%f",&number_a);
    fflush(stdin);
    printf("Input the number_b:");
    scanf("%f",&number_b);
    fflush(stdin);
    printf("the result is %.3f\n",result=operate[oprate-1](number_a,number_b));

    return 0;
}

嗯,转移表是利用C强大的函数指针来搞定的,一直不懂,看了无数的例子,敲了一个建议的加减乘除运算表才有点感觉,必用switch方便多了.尤其是一大串函数的返回值和赋值是相同的时候...

【我爱DIY】无线鼠标制作全程图解

前言:

其实本来没打算折腾的,但是技术宅的口号就是"生命在于折腾",那就折腾下吧.

几个月前买的无线鼠标昨天居然又停电了,我那个去,当初买的时候发现这货居然没有开关键,吹嘘神马智能断电,一对电池至少管半年.心存对天朝货的一丁点幻想加上懒得折腾,便入手了这厮.没想到2个多多一点点就game over,正好对此货不满,加之手边有个大一时买的某牌"人体鼠标"的尸体,便萌生了偷梁换柱,移花接木之法,搞一个人体工程学无线鼠标.

- 阅读剩余部分 -

qsort和bsearch

qsort函数

作用:在一个数组中以升序的方式对数据进行排序,可以使用qsort排序任意类型的数据,注意数组中元素的长度是固定的。

原型:

void qsort(void base,size_t n_elements,size_t el_size,int(compare)(void const,void const));

函数说明:

- 阅读剩余部分 -

strspn和strcspn

1、strcspn

头文件:#inclued<string.h>

定义函数:size_t strcspn(const char *s, const char * reject);

函数说明:strcspn()从参数s 字符串的开头计算连续的字符, 而这些字符都完全不在参数reject 所指的字符串中. 简单地说, 若strcspn()返回的数值为n, 则代表字符串s 开头连续有n 个字符都不含字符串reject 内的字符.

- 阅读剩余部分 -

CSS大全

字体属性:(font)
大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX、PD
样式 {font-style: oblique;}(偏斜体) italic;(斜体) normal;(正常)
行高 {line-height: normal;}(正常) 单位:PX、PD、EM
粗细 {font-weight: bold;}(粗体) lighter;(细体) normal;(正常)
变体 {font-variant: small-caps;}(小型大写字母) normal;(正常)

- 阅读剩余部分 -

php常用函数大全

(1)php数组处理函数
array_change_key_case — 返回字符串键名全为小写或大写的数组
array_chunk — 将一个数组分割成多个
array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
array_count_values — 统计数组中所有的值出现的次数
array_diff_assoc — 带索引检查计算数组的差集
array_diff_key — 使用键名比较计算数组的差集

- 阅读剩余部分 -