标题: 求救:关于C语言IF的问题
[打印本页]
作者: eastson
时间: 2006-12-11 23:51
标题: 求救:关于C语言IF的问题
我要比较字符串,下面有两种写法,第一种可以break,第二种就不行。我想请教第二种为什么不行?
条件是:ct->fullname = "chdir", ct->shortname = "cd", cmd = "cd"
第一种写法(可以):
if (strcmp(ct->shortname, cmd) == 0)
break;
else if (strcmp(ct->fullname, cmd) == 0)
break;
第二种写法(不可以):
if (strcmp(ct->shortname, cmd) == 0 || strcmp(ct->fullname, cmd) == 0) break;
[
Last edited by eastson on 2006-12-11 at 11:07 AM ]
作者: eastson
时间: 2006-12-14 23:21
没有人知道吗?
作者: Greentea107
时间: 2006-12-17 09:03
你改成这样试试看 if ((strcmp(ct->shortname, cmd) == 0) ||( strcmp(ct->fullname, cmd) == 0)) break;
作者: lisiyuan
时间: 2006-12-19 12:09
ding ding
作者: lisiyuan
时间: 2006-12-19 12:10
ding
作者: lisiyuan
时间: 2006-12-19 12:10
顶 顶
作者: phyfer
时间: 2006-12-22 03:04
标题: 这种可取!
Quote: |
Originally posted by Greentea107 at 2006-12-17 09:03:
你改成这样试试看 if ((strcmp(ct->shortname, cmd) == 0) ||( strcmp(ct->fullname, cmd) == 0)) break; |
|
支持楼上的意见!你的第二种写法是错误的,
“||” 两边的表达式应该用括号括起来