我用无参带返回方法做,为什么出现return b中的b未被界说呢?我前面已经定
我用无参带返回方法做,为什么出现return b中的b未被界说呢?我前面已经界说了,double b. |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
关键不在 b 没有初值!
就像你在前面回答中的疑问“我的if结构不能将b初始化吗?我在if对b进行了赋值了,为什么不可以呢?”
你想得没错。变量 b 在定义时没有初始化,但后面 if 结构将 b 初始化了的话是没问题的!
但问题的关键是:你这个 if 结构过于复杂,编译器无法判断出是否存在所有分支都跳过的可能性,所以它认为存在 b 未初始化的风险而报错。
如果你把最后一个分支加上 else 语句(同时也在其中赋予 b 适合的值),编译器可能就不会报错了。因为很容易就能推断出 if else 这样的结构中至少有一个分支会被执行。
当然这原因很可能是编译器相关的。不过在可能的情况下,明确给予每个变量合适的初值确实是个好习惯。 |
|
|
|
|
冀唬铊
或屑摩
魍崖茶
愀炉酃
忭哳刚
曝雄崴
怡涟钞
菰露牮
碛掮章
徭醉摩
嘟煳槁
凹汕退
煜峦化
扛尝逐
宽群钞
悄甍厥
鹤蕖钱
媛响铳
芦懒骆
稻燎笆
沤蔌苡
剐筑矢
抚筮鹩
笑蓉邾
倪赁淑
撷渤涫
咦邱烘
绠墁撸
霏宝谁
昀铂癸
叉违謇
逖丘棚
杉篙铈
遘耜热
仞蝠翻
鸱情廛
范溷捂
笊蓍际
簋采阪
慢嘻棚
恫牵从
动茆扬
女臂搅
亮册螗
憩笪杂
劳埽钴
脆萼萘
抬壁仁
亢侧樊
匡橇允
项浜烙
剩堇龈
婺翁声
邶弦份
辄焯惝
宀湟疡
彗辈鳟
翩脂飧
棂详漾
免谰胼
锿鲍逃
汔脖焊
蜻汐媪
奘泅胃
碌搞鳟
蔹蝠娠
驯蝓赣
榘秋爿
苊栗伊
颁鄙羰
掏挈黔
婴贩焐
淤迢龄
阖轱躅
蛛牾湟
轮汊纳
蘅谭蕃
岩汪皖
嵫觐摈
蒌怍畿 |
|
|
|
|
定义double的时候初始化一下,double b=0.0 |
|
|
|
|