zoukankan      html  css  js  c++  java
  • 发现一些容易忘记的细节

    1:i++与++i

    我们先看下结果 然后再看下汇编

    int a = 0; int b = 0;
    printf("刚开始 a = %d; b = %d; ", a, b);
    a = b++;
    printf("a = b++ a = %d; b = %d; ", a, b);
    a = ++b;
    printf("a = ++b a = %d; b = %d; ", a, b);

    接下来上汇编的图

    从第三和第四行汇编可以看到 a = b++ 是先把b的值放入寄存器eax里 此时b = eax = 0 在把eax赋值给a 此时a = 0

    第五行 把b的值放入寄存器ecx中 ecx = 0

    第六行 把ecx和1累加 ecx = 0+1 = 1

    第七行 把ecx赋值给b   ecx = b =1

    总结如下:

    单纯的i++ 等价于 ++i;

    表达式中 是不一样的 a = i++  a = ++i   以及 i++和++i 作为函数参数 例如 fun(int a){...} main(){fun(i++);}

    注意下

    int a = 0; int i = 0;

    a = i++ + ++i;

    a = 4; i = 3;

    2:cgi的一些知识以及

    表单输入的数据通过URL编码后传输到服务器端,我们有必要了解一下URL的编码规则:

    1、  每个name/value以name=valu的形式配对出现,每对name/valu之间用&分隔

    2、  若用户没有对某个name赋值,则以“name=”的形式出现

    3、  任何特殊字符以百分号%用十六进制编码。

    4、  输入区的空格将以“+”显示

  • 相关阅读:
    图灵2010.05书讯
    上海.NET技术交流会
    图灵2010.07书讯
    高效模式编写者的7个习惯
    QRCode 二维码开源DLL
    javascript 复习
    关于反射技术
    数字签名与加密解密
    使用负载均衡技术建设高负载的网络站点
    dreamweaver cs5.5中的phonegap升级测试
  • 原文地址:https://www.cnblogs.com/huoxl/p/3983171.html
Copyright © 2011-2022 走看看