
c++ 逗号运算符.
逗号运算符,例如:#include<iostream>intmain(){inta=0;a=3*5,a*4;cout<<a<<endl;system("pause");r...
逗号运算符,例如:
#include<iostream>
int main()
{
int a=0;
a=3*5,a*4;
cout<<a<<endl;
system("pause");
return 0;
}
我运行的结果是15,并不像书里所说的a=3*5,a*4的最后值是60,只计算了3*5,逗号后的a*4并没有计算.
我所用的编译器逗号后面都等于是白写的,什么情况?
c++程序设计 开始看还感觉思路还好.出了一个问题就这么麻烦.
谭浩强的电子书,我是带在身边有时候用psp学下的.第103页 展开
#include<iostream>
int main()
{
int a=0;
a=3*5,a*4;
cout<<a<<endl;
system("pause");
return 0;
}
我运行的结果是15,并不像书里所说的a=3*5,a*4的最后值是60,只计算了3*5,逗号后的a*4并没有计算.
我所用的编译器逗号后面都等于是白写的,什么情况?
c++程序设计 开始看还感觉思路还好.出了一个问题就这么麻烦.
谭浩强的电子书,我是带在身边有时候用psp学下的.第103页 展开
4个回答
展开全部
等号的优先级是高于逗号的。
因此上式理解为:a = 15;
此时a等于15了,15*4等于60,但并没有赋值给a。故a为15。
为了改变计算顺序,可以改写为:a = (3*5, a*4),那么因为a等于0,所以0*4等于0,然后赋值给a,故a为0。
不知道哪本书上会写a=3*5, a*4等于60,要是为了得到60这个值,得这么改写:a=(a=3*5, a*4)。是不是书没看完整?倘若书真是这么写,那作者的功力值得怀疑了。
因此上式理解为:a = 15;
此时a等于15了,15*4等于60,但并没有赋值给a。故a为15。
为了改变计算顺序,可以改写为:a = (3*5, a*4),那么因为a等于0,所以0*4等于0,然后赋值给a,故a为0。
不知道哪本书上会写a=3*5, a*4等于60,要是为了得到60这个值,得这么改写:a=(a=3*5, a*4)。是不是书没看完整?倘若书真是这么写,那作者的功力值得怀疑了。
展开全部
楼主你好,书上说的是(a=3*5,a*4)这个十字是60;
这里请理解下,号运算中的式子的值,和元素的值
这里a=3*5 元素的值变为了15 然后a*4 这里元素的值还是 15 没变过,因为没有赋值过,但是这个式子的值是60
所以应该这样 b=(a=3*5,a*4) 然后打印b 那么结果就是60 了
这里请理解下,号运算中的式子的值,和元素的值
这里a=3*5 元素的值变为了15 然后a*4 这里元素的值还是 15 没变过,因为没有赋值过,但是这个式子的值是60
所以应该这样 b=(a=3*5,a*4) 然后打印b 那么结果就是60 了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=3*5,a*4; 这句改这样 a=3*5,a=a*4;上面光计算,没赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询