加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在哪些情况下我和我可以引用相同的值?

发布时间:2020-12-16 10:34:17 所属栏目:百科 来源:网络整理
导读:参见英文答案 What is the difference between ++i and i++?????????????????????????????????????21个 为什么我和i在以下代码中相同? #include stdio.h int main() { int i=5; while(1) { i++; /*replacing i++ by ++i also gives 6*/ printf("%d",i); bre
参见英文答案 > What is the difference between ++i and i++?????????????????????????????????????21个
为什么我和i在以下代码中相同?

#include <stdio.h>  

int main()  
{  
    int i=5;  

    while(1)  
    {  
        i++;                  /*replacing i++ by ++i also gives 6*/  
        printf("%d",i);  
        break;  
    }  

    return 0; 
}

输出为6.我了解到增量运算符i的值为i的当前值,并使i的存储值递增.但是,当i的当前值为5时,i的值显示为6.将i替换为我也给出了相同的值6.为什么i和i在这种情况下相同,为什么输出为6,尽管初始值为5.

解决方法

执行顺序是顺序的.

我或者就此而言,我是在该序列点执行的单个指令,i的值不在该指令的任何地方使用,所以它并不重要.

如果你确实替换printf(“%d”,i); with printf(“%d”,i);或printf(“%d”,i);事情会有很大不同.

编辑:我也发现了一些非常有用的东西.在C和C中,前缀一元运算符返回一个左值,与后缀一元运算符相反,所以如果你想要,例如,减少两次,那么

(i--)--; // is illegal

(--i)--; // is perfectly legal and works as intended.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读