zoukankan      html  css  js  c++  java
  • printf里的=、++

      众所周知,我们一般应该有歧义的语句,但有歧义的语句也是有研究的乐趣的。

      众所周知,printf从右向左“入栈”并边出栈边输出。

      通过简单的控制变量法我发现:

      printf里的多个全局变量i=,i=...会正确的从右向左取每次i赋到的值输出。(所以以下我们都考察局部变量)

      printf里的多个局部变量i=,i=...会取最后一次i赋到的值输出。

      printf里的++i完全等价于i=i+1,取最后一次赋到的值。

       

       printf里的i++会正常的输出当时”路过“它时的值。

      

       由此我提出猜测:i=什么什么入栈的时候先执行赋值,再把”i“入栈而不是把它的值入栈,而”i++“会把算出来的值入栈。至于为什么,我也不知道。或许我再学几年就会学到,或许正在看的你知道但是你不愿意给我说呜呜呜

       

  • 相关阅读:
    (10)C#静态方法,静态字段,静态类,匿名类
    (9)C#类
    (8)C#字符串
    (7)C#流程控制
    (6)C#方法,作用域,方法重载
    (5)C#运算符
    各个品牌主板快速开机启动
    口袋的天空
    繁忙的都市
    取水
  • 原文地址:https://www.cnblogs.com/qywyt/p/14539798.html
Copyright © 2011-2022 走看看