当前位置:首页 » 编程语言 » c语言逗号从哪里算
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言逗号从哪里算

发布时间: 2022-03-09 09:17:47

c语言中逗号运算符是从左向右算,还是从右向左算啊

int a ;
a = 2 * 3, 4 * 5;

首先计算2*3,结果是6
接着计算a = 6(因=优先级大于,)
接下来计算4*5,结果是20

20是整个逗号表达式的值

-------------------------
由左向右运行,最后的表达式的值是整个逗号表达式的值

Ⅱ C语言逗号运算符

先算a=2,a的值为2;算b=5,b的值为5, 算a++,a的值为3,算b++,b的值为6,算a+b,结果为9,整个都好表达式的结果为9

Ⅲ C语言中逗号运算符是从左至右

掌握了以下4点,逗号表达式的运用就不是问题了: 1、逗号表达式格式:表达式1,(表达式2,表达式3,... 表达式n) 2、逗号表达式的计算过程为:从左往右逐个计算。 3、逗号表达式是作为一个整体的,它的最终结果就是最后一个表达式(即表达式n)的值。 4、逗号运算符的优先级别是所有运算符中最低的。

Ⅳ 关于c语言中的逗号运算符

等下。。答错了。。还需要理解一下神马是逗号表达式。。我前面说的和uuyyhhjj与delta_charlie的意思一样,但其实我们都搞错了。你可以自己把我们的例子都运行一下,看看是不是这样。下面我感觉应该是我正确的理解。
逗号表达式是所有运算符中优先级最低的,比赋值运算符还要低。他的作用就是把每个表达式都算一遍,并且把最后一个表达式返回的值作为逗号表达式的值。(把其他的都不管了)

像你说的那个,如果是
x=200,500;
(没有括号),x就会等于200,然后上面整个式子的值是500。

但是有括号的话, (200,500) 就是一个单独的式子,他的值是500,所以x=(200,500)最后赋值给x就是500

举几个例子,

x=(21,22,23,24,25);
这个里面,先算括号里的,前面的21到24算过后都被丢弃,括号里的表达式的值是25。之后执行赋值运算,x的值就变成括号里表达式的值,25了。
如果编译
int x;
int a;
x=(21,22,23,24,25);
cout<<"x="<<x<<endl;
会输出
x=25

x=21,22,23,24,25;
这行整个是一个表达式。
逗号运算符会分别计算表达式x=21、22、23 、24、25(单独一个数字也可以叫做表达式)。
然后他会用最后一个表达式作为逗号表达式的值。所以整个式子(整个一行)的值是25。但是因为这个值并没有返回给别的变量,他就也被丢弃了。
如果编译
int x;
x=21,22,23,24,25;
cout<<x;
输出是21。

a=(x=21,22,23,24,25);
这个里面,除了给x赋值,它又把逗号表达式的值25赋给a。
如果编译
int x;
int a;
a=(x=21,22,23,24,25);
cout<<"x="<<x<<endl;
cout<<"a="<<a<<endl;

会输出
x=21
a=25

a=(x=21,22,23,24,x*25);这个里,赋值给x之后又利用x计算了逗号表达式的值,21*25,最后把这个值赋给a
如果编译
int x;
int a;
a=(x=21,22,23,24,x*25);
cout<<"x="<<x<<endl;
cout<<"a="<<a<<endl;
会输出
x=21
a=525

简单来说,逗号的作用就是执行每一个表达式,然后用最后一个表达式作为他它的值。
看这个可能可以帮助你理解 http://blog.csdn.net/great_ghoul/article/details/1779768
如有疑问,欢迎您的追问。

Ⅳ c语言 逗号运算符

表达式
A,B
的值是B

所以
(x=8*2,x*4),x*2
的值是x*2

而计算过程是先算
(x=8*2,x*4)

完成之后,x=16,整个(x=8*2,x*4)的值是x*4也就是64

之后再计算x*2,由于 x=16,所以x*2=32

于是,整个表达式的值是32,x的值是16

Ⅵ c语言中逗号指的是什么意思

C语言中的逗号有两种意思:

1、表示"分隔号"的意思,就和语文中的逗号一个意思;

2、表示"逗号运算符"的意思,用它将2个表达式连接起来.例如:

3+5,6+8:就称为逗号表达式,又称为"顺序求值运算符"。逗号表达式的一般形式为表达式1,表达式2。
逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。例如:上面的表达式"3+5,6+8"的值是14。

(6)c语言逗号从哪里算扩展阅读:

运算符号:

比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。

因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。

运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。

数据类型:

C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

常量与变量:

常量其值不可改变,符号常量名通常用大写。变量是以某标识符为名字,其值可以改变的量。

标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。

数组:

如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。

网络-C语言

Ⅶ c语言中逗号运算符

逗号表达式的含义是,整个式子的值 等于 逗号表达式中的最后一个表达式的值。

Ⅷ C语言里的逗号的使用方法

C语言提供一种特殊放入运算符:逗号运算符

表达式1,表达式2

逗号表达式的求解过程是:

先求表达式1,再求表达式2

整个逗号表达式的值是表达式2的值,如表达式“3+5,6+8”的值为14。又如,逗号表达式“a=3*5,a*4”,赋值运算符的优先级别高于逗号运算符,因此应先求解a=3*5.经计算和赋值后得到a的值为15,然后求解a*4,得60,整个逗号表达式的值为60。

(8)c语言逗号从哪里算扩展阅读:

逗号运算

例子:

int a1,a2,b=2,c=7,d=5; // 第1行

a1=(++b,c--,d+3); // 第2行

a2=++b,c--,d+3; //第3行

对于给a1赋值的代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是(d+3)的值,为8,所以a1的值为8。

Ⅸ C语言中逗号运算符怎么用

一、用法:

1、当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一个表达式的值。

main()

{int a,s,d;

s=2;

d=3;

a=12+(s+2,d+4);

}

先算括号内的值:s+2=4,d+4=7;括号内应为(4,7),括号内取值只取最后一个,如果没有括号则取第一个;a=12+7=19。

x=(y=3,(z = ++y+2) +5);

是首先把y赋值为3,把y递增为4,然后把4加上2,把结果6赋值给z,接下来把z加5最后把x赋为结果值11。

2、注意事项:逗号运算符(,)是C语言运算符中优先级最低的一种运算符。

二、其它用法:

1、在for里面的应用:

int i;int j;

for(i=0,j=0;i<5;i++,j++)

2、当分隔符:int i,j;

(9)c语言逗号从哪里算扩展阅读

运算符优先级:

1、优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

2、相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

3、基本的优先级需要记住:指针最优,单目运算优于双目运算。如正负号。先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 && 7等价于 (1 << (3 + 2))&&7.逻辑运算最后计算。

Ⅹ c语言中的逗号运算

最后a=0,b=0,c=5
先b+3
后a=b
主要是运算符优先级问题