求大神解答,两个for循环的作用,str[i]!=0和 str[i]!='\0'的区别和用法

源程序:计算字符串长度#include<sudio.h>viodmain(){charstr[80];inti,len;scanf("%s",str);len=0;for... 源程序:计算字符串长度
#include<sudio.h>
viod main()
{char str[ 80]; int i,len;
scanf("%s",str);
len=0;
for (i=0;str[i]!='\0';i++)
len++;
for (i=0;str[i]!=0;i++)
putchar(str[i]);
printf("strlenth=%d\n",len);
}
展开
 我来答
White_MouseYBZ
2014-01-06 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6681万
展开全部
把NULL也放进来一起说说。
'\0'、0、NULL这三者的真值都是0,没有任何区别。之所以有三种写法,完全是为了程序的阅读:当用'\0'时表示是在操作一个字符串的结束符,比如ch!='\0';用NULL时常常是在将一个指针置为“空”指针,比如int *p=NULL;而0自然是数字0了,如int c=0。但写成int *p='\0'、int c=NULL和ch!=0都是能正确编译的。所以只是代码风格问题,没有实质区别。
ahulxh
2014-01-05 · 知道合伙人软件行家
ahulxh
知道合伙人软件行家
采纳数:267 获赞数:805
研究生教学:数据结构与算法、计算机图形学…… 本科生教学:C语言程序设计、多媒体创作……

向TA提问 私信TA
展开全部
str[i]!=0和 str[i]!='\0'完全等价,没有区别,因为'\0'表示ASCII码为0的字符,即C语言的字符串结束符,数值上就是0。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式