一个很小,但却一直迷惑的问题?while(1)

yanse51 2006-11-09 07:28:27
我是个新手,在做题中发现:有while(1),if(*pstr),for(;;)等等这类语句的出现,
请问,这是什么意思?起什么作用?
...全文
364 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
malligator 2006-11-10
  • 打赏
  • 举报
回复
lujun5100(笑笑) ( ) 信誉:100 Blog 2006-11-9 19:33:05 得分: 0



while(1),for(;;)
这两个是无限循环,作用就是不断地循环阿,这样使用时,在循环体里面肯定有return或break语句,满足一定条件的时候跳出
if(*pstr)
用来判断指针pstr指向的是否是'\0'(ASCII码为0),一般用来判断字符串结束

=======
正解!

carbonic 2006-11-10
  • 打赏
  • 举报
回复
都说对了,理解意思就行了。test一下就更清楚了
kookworm 2006-11-09
  • 打赏
  • 举报
回复
在while(1)中的表达式值为1,即非0,所以为一个死循环,因此要在循环体中安排退出循环的判断条件,如if(...) break;,对for(;;)是省略了3个表达式,也是一个死循环,同样需在循环体中安排退出循环的语句。
lann64 2006-11-09
  • 打赏
  • 举报
回复
只要不是'\0'就是真,是'\0'就是假
lann64 2006-11-09
  • 打赏
  • 举报
回复
while(1),for(;;)就是楼上说的无限循环。
if(*pstr)//在c里,假值是0,非0的都是真值,这样,这句就是判断pstr指针指向的内容是否是'\0'值。
hp2cy 2006-11-09
  • 打赏
  • 举报
回复
是谁说的对啊,学习.........
boy8765 2006-11-09
  • 打赏
  • 举报
回复
while(1)和for(;;)的形式一般是指循环永远为真.
本身作用并不大,一般使用这两个语句本身的能做循环的作用,一般会和if()....break;一起使用.
你在文中的if(*pstr),我猜pstr可能指一个指针,指针在使用时,一般不会指向NULL,也就是说,*pstr一般不为零.对于文中的if(*pstr),就是永远为真的意思.
lujun5100 2006-11-09
  • 打赏
  • 举报
回复
while(1),for(;;)
这两个是无限循环,作用就是不断地循环阿,这样使用时,在循环体里面肯定有return或break语句,满足一定条件的时候跳出
if(*pstr)
用来判断指针pstr指向的是否是'\0'(ASCII码为0),一般用来判断字符串结束

69,371

社区成员

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

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