C语言基础题 以下合法的C语言赋值语句是 A.a=b=58 B.k=int(a+b) C.a=58,b=58 D.--i

bbtbobo 1年前 已收到1个回答 举报

ivdjxpt 花朵

共回答了17个问题采纳率:88.2% 举报

A 语法错误:不能连续赋值.
B 强制类型转换运算符必须用小括号括起来 比如 (int)(a+b).
C 不是语句,只是表达式,要用分号才正确.
D 是自减语句,等同i=i-1.
正确的确是D.

1年前 追问

1

bbtbobo 举报

连续赋值其实可以的,书上有个例子是a=b=c=100

举报 ivdjxpt

好吧,至少BC一定错,现在用的习惯不能连续赋值。
A好像是因为少了分号。

bbtbobo 举报

好像是的,再问你个问题 强制类型转换(int)(x*1000+0.5)/((float)1000)只强制转换分子吗 全部括起来才是强制转换整体

举报 ivdjxpt

对 要括起来,(float)1000这部分已经错了。
应该(int)( (x*1000+0.5)/(float)(1000)) 要是我记得没错。

bbtbobo 举报

你的意思是 比如把1000.0强制转化为整型,那么int和1000.0都得括起来?(int)(1000.0)?

举报 ivdjxpt


通常是 (类型说明符)(表达式) 这样来转换的
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.022 s. - webmaster@yulucn.com