判断字符串结束时是!='\0'还是!=0
我通常会选择!='\0'作为字符串结束的判断条件。但是看有的书上用!=0作为判断条件。这个对吗?为什么可以?0有什么意义?...
我通常会选择!='\0'作为字符串结束的判断条件。但是看有的书上用!=0作为判断条件。这个对吗?为什么可以?0有什么意义?
展开
3个回答
展开全部
姑且不论 != 0这种方式对不对, 都是不应该, 至少不提倡用的, 就像你可以 int* a = 0;但是这种方式不好, 通常都将指针初始化为NULL。。。
所以对字符串来说, != '\0'这种方式是很好的, != 0这种方式不管对不对, 都不要用...
看到有人说可以,那我举个例子吧,你可以运行下看看到底行不行:
#include <stdio.h>
void main()
{
char* p = "01234";
char* temp = p;
printf("使用 != '\\0'的方式输出: \n");
while(*p != '\0')
printf("%c", *p++);
printf("\n");
printf("使用!= 0的方式输出: \n");
temp = p;
while(*p != 0)
printf("%c", *p++);
}
所以对字符串来说, != '\0'这种方式是很好的, != 0这种方式不管对不对, 都不要用...
看到有人说可以,那我举个例子吧,你可以运行下看看到底行不行:
#include <stdio.h>
void main()
{
char* p = "01234";
char* temp = p;
printf("使用 != '\\0'的方式输出: \n");
while(*p != '\0')
printf("%c", *p++);
printf("\n");
printf("使用!= 0的方式输出: \n");
temp = p;
while(*p != 0)
printf("%c", *p++);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两个都可以的,\0'的ASCII码值就是0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询