|
eastson
新手上路

积分 6
发帖 2
注册 2006-12-6
状态 离线
|
『楼 主』:
求救:关于C语言IF的问题
使用 LLM 解释/回答一下
我要比较字符串,下面有两种写法,第一种可以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 ]
|
|
2006-12-11 23:51 |
|
|
eastson
新手上路

积分 6
发帖 2
注册 2006-12-6
状态 离线
|
|
2006-12-14 23:21 |
|
|
Greentea107
新手上路

积分 6
发帖 2
注册 2006-12-15
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
你改成这样试试看 if ((strcmp(ct->shortname, cmd) == 0) ||( strcmp(ct->fullname, cmd) == 0)) break;
|
|
2006-12-17 09:03 |
|
|
lisiyuan
初级用户
 
积分 21
发帖 28
注册 2006-12-15
状态 离线
|
|
2006-12-19 12:09 |
|
|
lisiyuan
初级用户
 
积分 21
发帖 28
注册 2006-12-15
状态 离线
|
|
2006-12-19 12:10 |
|
|
lisiyuan
初级用户
 
积分 21
发帖 28
注册 2006-12-15
状态 离线
|
|
2006-12-19 12:10 |
|
|
phyfer
初级用户
 
积分 69
发帖 14
注册 2006-10-18
状态 离线
|
『第 7 楼』:
这种可取!
使用 LLM 解释/回答一下
Originally posted by Greentea107 at 2006-12-17 09:03:
你改成这样试试看 if ((strcmp(ct->shortname, cmd) == 0) ||( strcmp(ct->fullname, cmd) == 0)) break;
支持楼上的意见!你的第二种写法是错误的,
“||” 两边的表达式应该用括号括起来
|
|
2006-12-22 03:04 |
|