5个回答
展开全部
c=(2,3,4)这个是逗号表达式;这里是说把逗号表达式的值赋予c,逗号表达式的值就是括号中最右边的值。也就是4.
c=2,3,4;在这里3,4并不是语句,只是表达式而已。表达式后面加上分号才构成语句的。所以在编译过程中,会出现说3,4在程序段中没有意义。 所以c=2.
c=2,3,4;在这里3,4并不是语句,只是表达式而已。表达式后面加上分号才构成语句的。所以在编译过程中,会出现说3,4在程序段中没有意义。 所以c=2.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逗号的优先级比赋值符号低。所以c=2,3,4先做c=2,而3,4并不赋值给c。c=(2,3,4)由于有括号,所以先做括号里的逗号表达式,其结果为最后一个值,为4,然后赋值给c,所以c为4.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
,运算符的级别最低 =要不,高
所以c=2,3,4 C=2
c=(2,3,4) c=4
就这样了~
所以c=2,3,4 C=2
c=(2,3,4) c=4
就这样了~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这就是所谓的逗号表达式。总体而言,c与c++的逗号表达式的语法是差不多的。相关内容如下:
逗号表达式的语法为:
表达式1,表达式2,...表达式n
C++顺序计算表达式1,表达式2,……,表达式n的值。例如:
int a,b,c;
a=l,b=a+2, c=b+3;
由于按顺序求值, 所以能够保证b一定在a赋值之后, c一定在b赋值之后。该逗号表 达式可以用下面3个有序的赋值语句来表示:
a=1;
b=a+2;
c=b+3;
逗号表达式是有值的,这一点是语句所不能代替的。逗号表达式的值为第n个子表达 式的值,即表达式n的值。例如:
int a,b,c,d;
d=(a=1,b=a+2,c=b+3);
cout<<d<<endl;
输出结果为:
6
上例中输出的结果d即为c的值。
逗号表达式还可以用于函数调用中的参数。例如:
func(n,(j=1,j+4),k);
该函数调用有3个参数,中间的参数是一个逗号表达式。括号是必须的,否则,该函数有4个参数了。逗号表达式作为值的形式,可以用于几乎所有的地方。
C++中,如果逗号表达式的最后一个表达式为左值,则该逗号表达式为左值。例如:
(a=1,b,c+1,d)=5; //ok:即d=5
注意:在C中,逗号表达式是不能作左值的,所以 “(a=1,b,c+1,d)=5;”将通不过编译
逗号表达式的语法为:
表达式1,表达式2,...表达式n
C++顺序计算表达式1,表达式2,……,表达式n的值。例如:
int a,b,c;
a=l,b=a+2, c=b+3;
由于按顺序求值, 所以能够保证b一定在a赋值之后, c一定在b赋值之后。该逗号表 达式可以用下面3个有序的赋值语句来表示:
a=1;
b=a+2;
c=b+3;
逗号表达式是有值的,这一点是语句所不能代替的。逗号表达式的值为第n个子表达 式的值,即表达式n的值。例如:
int a,b,c,d;
d=(a=1,b=a+2,c=b+3);
cout<<d<<endl;
输出结果为:
6
上例中输出的结果d即为c的值。
逗号表达式还可以用于函数调用中的参数。例如:
func(n,(j=1,j+4),k);
该函数调用有3个参数,中间的参数是一个逗号表达式。括号是必须的,否则,该函数有4个参数了。逗号表达式作为值的形式,可以用于几乎所有的地方。
C++中,如果逗号表达式的最后一个表达式为左值,则该逗号表达式为左值。例如:
(a=1,b,c+1,d)=5; //ok:即d=5
注意:在C中,逗号表达式是不能作左值的,所以 “(a=1,b,c+1,d)=5;”将通不过编译
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询