关于printf()与自增自减运算符结和问题
1.问题描述:
#include<stdio.h>
int main()
{int i=3;printf("%d %d %d %d %d",i++,++i,++i,i++,--i);
}
2.问题的解决方案
2.1DEVC++运行结果
在DEVC++中printf()结和自增自减运算符时遵循:
1.从后往前运算
2.前置++或- -打印的是最终结果,后置++和- -打印的是参数当前值
- 1.我们看程序,最后一个参数是- -i,此时i变成了2,是前置运算打印最后i的值,先不管,往前推一个参数
- 2.倒数第二个参数是i++,是后置运算,打印i当前值2,由于后置运算时先运算再自增或自减,所以此时变成了3
- 3.再往前推一个参数++i,前置运算,打印最终结果,此时i变成4。
- 4.再往前推一个参数还是++i,前置运算,打印最终结果,此时i变成了5
- 6.再往前推一个参数,是i++,打印当前i的值为5,此时i的值变为6
- 7.i的最终值为6,把所有前置运算符的参数换成最终结果就得到最终答案
2.2CLion的运算结果
Clion编译器的运算方案是从左往右,依次运算输出,所以最终结果是和devc++结果不同
3.总结
我们可以看到不同编译器对于printf()与自增自减运算符结和的结果不同,所以我们有的时候不用死磕这些,我们只需要知道:
1.
printf函数在C语言中的运算顺序是自右向左
2.前置自增与自减是先自增或自减再参与运算,后置自增或自减是先参与运算再进行自增或自减
关于printf()与自增自减运算符结和问题相关推荐
- c语言自增自减5运算符详解,巧用C语言中的自增自减运算符
黄建琼 摘要:自增自减运算符在C语言的编程过程中经常用到,具有重要的作用,而灵活使用自增自减运算符则是个难点.该文从几个例子入手,观察运行的结果,对结果进行分析,最后得出结论.以期能使初学者避重就轻, ...
- C语言连续自动自加怎么表示,为什么不建议在C语言中连续使用自增自减运算符...
相信很多coder在学习C语言(包括C++)的过程中都听说过这样的建议:慎用自增自减运算符. 这是因为,在函数参数或者表达式中多次调用自增自减运算符很可能产生"不可预知的结果".究 ...
- c语言中自增自减运算符,C语言中自增自减运算符的深入剖析
C语言中自增自减运算符的深入剖析 李文广 李俊荣 赵妍 . (1.沧州职业技术学院,2沧州工贸学校) [摘要]本文从多方面对自增自减运算符分析.讲解,以便让初学者 能够清晰自增自减运算符的运算规律,学 ...
- c语言:自增自减运算符的操作详解
博主在回忆c语言的基本知识时,突然发现自增自减运算符(--.++)这个知识点有些模糊不清,故博主为了给同为小白的同学们提供一些经验,特写下这篇文章. 首先,自增自减运算符共有两种操作方式. 比如,我先 ...
- //1.13 自增自减运算符(++,--)
//1.13 自增自减运算符(++,--) #include<stdio.h> int main(){ int i=8; printf("%d\n",++i); p ...
- C语言——赋值运算符、复合的赋值运算符、自增自减运算符、逗号运算符、条件运算符、goto语句、注释
目录 一.赋值运算符 二.复合的赋值运算符 三.自增自减运算符 四.逗号运算符 逗号表达式的语法 五.条件运算符 六.goto语句 七.注释 一.赋值运算符 语法: - int a; - a = 5; ...
- c语言ll和 amp amp 优先级,关于C语言自增自减运算符的灵活使用.pdf
DOI:10.3969/j.issn.1001-8972.2012.24.035 {int m=2,n: n=fun(m,++m): l?rintf("%d",n):} int f ...
- C语言系列之自增自减运算符的用法(二)
运算符中最难理解的有自增自减运算符的使用方法,下面我将简单总结一下他们的使用方法 我们知道,C语言运行是由右向左运行的 下面我们来看一个例子 当i等于3的时候 j=++i; 由上面可知,C语言是由右向 ...
- c语言3u减1,C语言的自增自减运算符及应用
在C语言中,经常使用自增自减运算符.本文结合实例,对C语言中自增自减运算符的应用技巧进行了分析. 维普资讯 http://doc.xuehai.net J u a fAn a gT a h r olg ...
最新文章
- JAVA环境变量的配置
- 【Kafka】Kafka-分区数-备份数-如何设置-怎么确定-怎么修改
- Npm的配置管理及设置代理
- Requirejs定义模块
- 宗宁:全面解析微博财报数据爆发下的平台机会
- Android -ui控件
- stm32l0的停止模式怎么唤醒_「正点原子STM32Mini板资料连载」第十九章 待机唤醒实验...
- 建筑电气工程设计常用图形和文字符号_怎么看懂建筑电气工程图?用最直白方式,教你基础识图!超级详细...
- 给入门程序员20条编程经验
- TextBoxWatermarkExtender扩展器与RequiredFieldValidator控件相冲突的解决方案
- 《Linux高性能服务器编程》——2.4 IP路由
- 安卓最好的浏览器_今日软件 | AI一键抠图、隐私保护工具、全能下载器、安卓启动器、茄子快传、迅雷、批量字符替换、傲游浏览器、全局负一屏...
- 安庆师范大学计算机学院书记,安庆师范大学计算机与信息学院导师教师师资介绍简介-施赵媛...
- 淘淘商城简介——淘淘商城(一)
- Redis实战pdf
- Android5.1打开Emmagee显示错误
- 通过docker搭建Yapi
- HC-05蓝牙模块连接测试
- 如何搭建一个自己图床网站
- 计算机中的越界英文怎么说,计算机与网络英语词汇(T4)