黑马程序员技术交流社区
标题:
关于if语句的一个小问题
[打印本页]
作者:
yanglfree
时间:
2013-8-30 14:41
标题:
关于if语句的一个小问题
本帖最后由 yanglfree 于 2013-8-30 14:42 编辑
刚刚在做折半法查找的时候发现的一个小问题
if (key > arr[mid])
min = mid + 1;
else if (key < arr[mid])
max = mid - 1;
mid = (min + max)/2;
else
return mid;
复制代码
写的程序是上面的,结果编译的时候提示“有if但是没有else”,我就奇怪了明明有if的啊,后来仔细看才发现在else之前加了一句话
应该就是这句话把if语句给打断了,不知道是不是这么理解,改成下面的就编译成功了
if (key > arr[mid])
min = mid + 1;
else if (key < arr[mid])
max = mid - 1;
else
return mid;
mid = (min + max)/2;
复制代码
作者:
Nero
时间:
2013-8-30 15:18
如果if后面没有“{}”的话,下面有效代码是只有一行的,第二行就不算if块里面的了 还有 else 、while、等都是如此:只要省略大括号,则有效代码只有一行!!!
作者:
毋须繁华
时间:
2013-8-31 12:30
if else 语句如果 if else 之间只有一句可以省略{},但是如果是多句的话就会报错。
建议每次的if else 都把{}写上,这样不容易出错。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2