zoukankan      html  css  js  c++  java
  • 「C语言迷惑行为大赏」这些代码你绝对猜不到结果!

    ▓ 代码0:


     

    输出结果:

    0-->10

    以上特性被常见编译器支持,但是标准中并未提到。

    ▓ 代码1


     

    输出结果:

    Success

    等价于:

    printf("%s ",stderr(errno));

    由于你的代码前面并没有执行出错设置errno,因此errno会是0,而对应的描述信息就是Success。

    ▓ 代码2:


     

    输出结果:

    4

    4

    10

    sizeof实际作用的对象是类型。sizeof中的表达式本身并不会被执行。

    ▓ 代码3


     

    输出结果:

    C语言编程俱乐部C语言编程俱乐部C语言编程俱乐部

    为什么不会输出公众号呢?原因在于标准输入默认是行缓冲,而标准错误是无缓冲。

    ▓ 代码4


     

    输出结果:

    10

    switch中的int b = 20,并不会被执行,你编译时就会发现有警告。

    ▓ 代码5


     

    输出结果:

    o

    等价于:

    char*str ="hello 公众号C语言俱乐部";

    printf("%c ",str[4]);

     

    ▓ 代码6


     

    灾难!,可能会崩溃

    ▓ 代码7


     

    输出结果:

    end

    原因也很简单,sizeof(arr)/sizeof(int)的结果是unsigend, int类型的i 和unsigned比较,被转换为一个很大的unsigned数,所以for循环的条件不满足。

    ▓ 代码8


    输出结果:

    1653732529

    ▓ 代码9


     

    输出结果:

    1199094392

    原因:浮点数在计算机中按照IEEE754标准存储!


    - End -

    ————————————

    不管你是转行也好,初学也罢,进阶也可,如果你想学编程,进阶程序员~

    【值得关注】我的 编 程 学 习 交 流 俱 乐 部 !【点击进入】

    C语言入门资料(网盘链接免费分享):


     

    C语言推荐书籍(PDF免费分享):


     
  • 相关阅读:
    插入排序Java实现
    WMI控制IIS(2)
    WMI控制IIS
    C语言中用qsort()快速排序
    list_for_each引起的问题
    c++数组地址
    Valgrind 使用简单说明检查内存泄露
    firefox 在UBUNTU下编译
    内存泄漏检测umdh
    ubuntu GIT 安装与使用
  • 原文地址:https://www.cnblogs.com/huya-edu/p/15133077.html
Copyright © 2011-2022 走看看