
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循环中的赋值式和变量增值式是否也是逗号表达式呢?
谢谢各位前辈! 展开
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可以这样理解:
for(表达式1;表达式2;表达式3)
表达式1 是赋值语句,相当于变量初始化
表达式2 是判断语句
表达式3 相当于普通语句了
不知道这样的解释是否能接受?呵呵……
for(表达式1;表达式2;表达式3)
表达式1 是赋值语句,相当于变量初始化
表达式2 是判断语句
表达式3 相当于普通语句了
不知道这样的解释是否能接受?呵呵……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,你所举的例子中有三个逗号表达式:
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)
三,整个逗号表达式的值为最右边式子的值;
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)
三,整个逗号表达式的值为最右边式子的值;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,你所举的例子中有三个逗号表达式:
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)
三,整个逗号表达式的值为最右边式子的值;
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)
三,整个逗号表达式的值为最右边式子的值;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询