【C++】这些题目求解
哪一些属于非法的?请解释原因(a)std::cin>>intinput_value;(b)inti={3.14};(c)doublesalary=wage=9999.99...
哪一些属于非法的?请解释原因
(a)std::cin>>int input_value;
(b)int i={3.14};
(c)double salary=wage=9999.99
(d)int i=3.14
尤其是题目(b),这样做貌似是可以运行的 展开
(a)std::cin>>int input_value;
(b)int i={3.14};
(c)double salary=wage=9999.99
(d)int i=3.14
尤其是题目(b),这样做貌似是可以运行的 展开
2个回答
2015-11-10
展开全部
题目B是很明显的以小存大,int 声明的是整数,3.14是至少是float(浮点数),所以i的结果是3,并不会是3.14,而且加了{}....
追问
用{}赋值和用()赋值有什么区别啊?
展开全部
解释如下:
(a)非法,变量必须在cin >>之前声明;
(b)合法,只是数据有损失,i只接收3舍去了小数部分;
(c)非法,wage没有声明;
(d)合法,同(b)。
(a)非法,变量必须在cin >>之前声明;
(b)合法,只是数据有损失,i只接收3舍去了小数部分;
(c)非法,wage没有声明;
(d)合法,同(b)。
更多追问追答
追问
用{}赋值和用()赋值有什么区别啊?
追答
那要看用在什么地方。在这里二者是一样的效果,int i={3.14};、int i=(3.14);和int i=3.14;一样给i赋值为3。在声明语句中,{}中是右值常量列表,这里{}中的列表只有一项,当然是合法的;()在声明语句中是逗号表达式的界限或纯粹是优先级所需,无论哪一个,int i=(3.14);都解释得通,都是给i赋值3。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询