C语言逗号表达式在for循环语句中的使用
先直接举出逗号表达式一般的例题
#include <stdio.h>
void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));printf("%d\n",a);
}
对于逗号的使用简单而言:
在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,整个表达式的值是最后一个表达式的值。
例题的答案为20,程序运行结果如下:
可能会有答案算成65,这里的错误点是在括号里面计算时(表达式1,表达式2,表达式3)
表达式2,表达式3是分开计算的的而不是顺序关系。可以看到最后a的值还是15
下面进入正题:
在刷题过程中看到这样一道逗号与循环语句的题目,如果不知道逗号的意思,误导性还是很强的
#include <stdio.h>
int main(){ int x, y;for(x=30, y=0; x>=10, y<10; x--, y++)x/=2, y+=2;printf(“x=%d,y=%d\n”,x,y);
}
这里的for(表达式1,表达式2,表达式3)中的表达式2就是用的逗号表达式
所以只考虑y<10这个语句
但是这里好多同学可能可能认为是2者都要满足而出错得到答案为x=6,y=6
(分析:可能是受下一行的x/=2, y+=2;影响,认为都要执行)
//计算历程
x=30 y=0
x=14 y=3
x=6 y=6
x=2 y=9
x=0 y=12
最后,小白一个,有什么不足的地方还请各位大佬指出。
C语言逗号表达式在for循环语句中的使用相关推荐
- C语言逗号表达式 - C语言零基础入门教程
目录 一.C 语言逗号表达式简介 1.逗号表达式书写形式 2.逗号表达式计算结果 二.C 语言逗号表达式实战 1.逗号表达式的使用 2.逗号表达式与赋值表达式区别 三.猜你喜欢 零基础 C/C++ 学 ...
- c语言 逗号表达式,c语言逗号表达式的运算规则_后端开发
c语言程序的调试方法_后端开发 c语言程序的调试方法:1.先进行人工检查,即静态检查:2.在人工检查无误后,再上机调试:3.改正语法错误得到可执行目标程序,运行程序,看结果是否符合预期:4.不符合预期 ...
- c语言 逗号表达式的作用,关于c语言逗号表达式的运算规则知识点
c语言逗号表达式的运算规则 c语言逗号表达式是由左向右进行的:k=3*2=6,K+2=8,表达式返回8. 逗号表达式用法: 当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一 ...
- c语言 表示逗号的字符串,c语言逗号表达式的运算规则
c语言逗号表达式的运算规则 c语言逗号表达式是由左向右进行的:k=3*2=6,K+2=8,表达式返回8. 逗号表达式用法: 当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一 ...
- c语言逗号表达式(C语言逗号表达式可以出现自身吗)
C语言中逗号表达式的问题 逗号表达式的运算级最低,比赋值运算符级别还低. 所以 y=(x=a+b),(b+c); 先算x=a+b=6,再y=x=6:而后面的b+c不影响x和y的值. 所以最终x,y的值 ...
- continue语句可以用在switch语句和3种循环语句中_必须知道的C语言知识细节:break、continue语句区别...
break语句.continue语句都是C语言标准规定的跳转类语句,能够实现程序无条件转向另一处执行. break和continue中在循环体中经常出现,因此必须掌握其区别,避免出错. 先复习下两种语 ...
- 在循环语句中,for(i=0;in;i++)和for(i=0;in;++i)有什么区别?
2019独角兽企业重金招聘Python工程师标准>>> 程序员 代码 C(编程语言) C++ C / C++ 在循环语句中,for(i=0;i<n;i++)和for(i=0;i ...
- python什么语句提前结束循环_在循环语句中,__________语句的作用是提前结束本层循环。...
[判断题]列表对象的 extend( )方法属于原地操作,调用前后列表对象的地址不变. [单选题]Python 中,for 和 while 可以有 else 语句?( ) [判断题]对于大量列表的连接 ...
- continue语句只用于循环语句中,它的作用是什么?
continue语句只用于循环语句中,它的作用是:跳过循环体中剩余的语句而强制进入下一次循环.continue语句只用在while.for循环中,常与if条件语句一起使用,判断条件是否成立. cont ...
最新文章
- Python的零基础超详细讲解(第五天)-Python的运算符
- Python中的strip()函数的用法
- vue 文件及描述信息一起上传_用Vue实现一个大文件上传和断点续传
- 9个提高代码运行效率的小技巧你知道几个?
- JavaScript字符串String常用方法介绍
- Intellij IDEA 导入或运行流式处理框架storm以及java.lang.NoClassDefFoundError报错的解决方案
- Madagascar的自定义浮点型函数--三角函数和反三角函数
- 前端埋点的缺点_【埋点学习埋点质量】埋点的框架设计及其准确性
- session在.ashx文件操作问题
- vc链接数据库和操作数据库的函数清单
- 最新sql 2008安装说明 以及 重设sql server 2008 R2的登录密码
- 【Matlab元胞自动机】元胞自动机双边教室疏散【含源码 1208期】
- 射频识别(RFID)
- 【Linux】【操作】Linux操作集锦系列之一——定时任务
- 计算机电脑网络电缆,宽带连不上网,电脑显示网络电缆被拔出
- 训练计划安排(练一休一训练分化+倒金字塔训练法)【了解即可,一般人容量不用练一休一,看抖音@孙悟饭桶】
- Downloads Help 下载帮助
- 编译报错unable to initialize decompress status for section .debug_info
- 使用 PyTorch 进行 风格迁移(Neural-Transfer)
- 风语者---走出软件作坊:三五个人十来条枪 如何成为开发正规军(二十九)