关于条件判断的问题,谢谢!

goldly 2003-10-09 12:40:47
程序如下:
char *ptr;
...
while( ptr )
{
dosomething();

}
...
1、ptr是一个指针,在while( ptr )中,怎样判断的?即ptr满足什么条件时才能够dosomething();
2、倘若while( X ) ,X是int,char,或者其他的类型时怎样判断?
3、对于以上两个问题,若条件判断表达式为:if( X ),又将怎么判断?

原则上对于条件判断只是判断真假(TRUE、FALSE),但实际上经常会遇到以上问题!
thanks a lot!
...全文
79 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyifeng 2003-10-09
  • 打赏
  • 举报
回复
0 条件不成立
1 条件成立

bool 其实也是以整形数值形式存在
goldly 2003-10-09
  • 打赏
  • 举报
回复
谢谢各位,CSDN真好!
wwwwlanshu 2003-10-09
  • 打赏
  • 举报
回复
while(x)和if(x)在判断的规则上是一样的,要么是真或假 1或0
当x是int char是只判断它是否是1或0 真或假
不管int的值多大例如1000 此时它跟1的结果是一样的(除了循环控制上) 都是真
char也是一样的。这只是在判断真或假时。
while(x)和if(x)在功能上是不一样的,在x的赋值上就不一样了,特殊情况特殊处理!
象char *ptr ....while(ptr)..... *ptr是一个字符型指针 那么ptr就是一个地址(除非你把它指向NULL) 那么while(ptr)一直为真。
不知道你的dosomething();干什么用,这样好象是死循环!!
chenkuizhong 2003-10-09
  • 打赏
  • 举报
回复
if(x)和while(x)的判断方法一样
xdspower 2003-10-09
  • 打赏
  • 举报
回复
注意,指针是可以赋值为NULL(null)
starr0110 2003-10-09
  • 打赏
  • 举报
回复
差不多了。
cxjddd 2003-10-09
  • 打赏
  • 举报
回复
while (ptr) 与 while (ptr != 0) 相当。

ptr != 0 表示判断 ptr 是不是空指针,如果不是,就得到 true
正好非零也是 true,所以 while (ptr) 也行。
hcj2002 2003-10-09
  • 打赏
  • 举报
回复
3.if( x ) 判断表达式 X 的值是否为真,为真执行语句
Hot_Forever 2003-10-09
  • 打赏
  • 举报
回复
1.while(ptr),指针为空即为NULL时,跳过,否则执行dosomething()
2.while(X) x=0条件不成立,否则条件成立
3.同上
williamVII 2003-10-09
  • 打赏
  • 举报
回复
nod
caizzrr 2003-10-09
  • 打赏
  • 举报
回复
1、ptr是null时相当于false,如果是其他相当于true;
2、int时0相当于false ,其它的相当于true

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧