C语言中,for 循环中哪些是逗号表达式?

比如下个FOR循环:for(a=1,b=0,c=0;a<=9,b<=9,c<=9;a++,b++,c++)我知道其中的a<=9,b<=9,c<=9等价于c<=9。是因为逗... 比如下个FOR循环:
for(a=1,b=0,c=0;a<=9,b<=9,c<=9;a++,b++,c++)
我知道其中的a<=9,b<=9,c<=9等价于c<=9。是因为逗号表达式,那么for循环中的赋值式和变量增值式是否也是逗号表达式呢?
谢谢各位前辈!
展开
 我来答
明月看尽沧桑
推荐于2016-05-06 · TA获得超过257个赞
知道小有建树答主
回答量:290
采纳率:0%
帮助的人:158万
展开全部

for循环是根据while循环的格式变形,其对比如下:

所以在对应的while循环格式中,能用逗号表达式的地方在for中也能。

米水胡余
2010-06-06 · TA获得超过303个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:210万
展开全部
这个for可以这样理解:
for(表达式1;表达式2;表达式3)
表达式1 是赋值语句,相当于变量初始化
表达式2 是判断语句
表达式3 相当于普通语句了

不知道这样的解释是否能接受?呵呵……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
木木成林EC
2010-06-07 · TA获得超过494个赞
知道小有建树答主
回答量:155
采纳率:100%
帮助的人:227万
展开全部
首先,你所举的例子中有三个逗号表达式:

a=1,b=0,c=0

a<=9,b<=9,c<=9

a++,b++,c++
(ps:表达式是不含分号的。)
下面这个程序会加深你对逗号表达式的理解:
#include <stdio.h>
void main()
{
int a=1,b;
b=(++a,a++,a++);
printf("a=%d,b=%d\n",a,b);
}
程序运行输出:a=4,b=3
可以看出:
一,逗号表达式会对每个式子都执行运算,如"b=(++a,a++,a++);"这一行,执行完++a后,a的值就变为2了;
二,逗号表达式是从左到右运算的;(若从右到左,则b=4)
三,整个逗号表达式的值为最右边式子的值;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者quGD6ZfUvv
2019-06-02 · TA获得超过3571个赞
知道大有可为答主
回答量:3029
采纳率:29%
帮助的人:139万
展开全部
首先,你所举的例子中有三个逗号表达式:
a=1,b=0,c=0
a<=9,b<=9,c<=9
a++,b++,c++
(ps:表达式是不含分号的。)
下面这个程序会加深你对逗号表达式的理解:
#include
<stdio.h>
void
main()
{
int
a=1,b;
b=(++a,a++,a++);
printf("a=%d,b=%d\n",a,b);
}
程序运行输出:a=4,b=3
可以看出:
一,逗号表达式会对每个式子都执行运算,如"b=(++a,a++,a++);"这一行,执行完++a后,a的值就变为2了;
二,逗号表达式是从左到右运算的;(若从右到左,则b=4)
三,整个逗号表达式的值为最右边式子的值;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式