C语言如何判断一个字符串是不是为null

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言如何判断一个字符串是不是为null相关的知识,希望对你有一定的参考价值。

参考技术A 用if语句,当第一个为‘\0’时,就为空字符串!本回答被提问者采纳 参考技术B void main()

char *b = "\n";
if(b[0] == '\n')
printf("this string is NUL!\n");
参考技术C 字符串的第一个为\0
或者strlen为0

用C语言怎么判断一个字符串是不是为空?

if (i < len) // 字符串不空else // 空字符串scanf ("%s", str); // 这里改下就行了!int len = strlen(str), i = 0;if (len > 0)while(i < len && str[i++] == ' ');if (i < len) // 字符串不空else // 空字符串#include <stdio.h>#include <string.h>void main()char *str;scanf ("%s", str);int len = strlen(str), i = 0;if (len > 0)while(i < len && str[i++] == ' ');if (i < len) printf ("%s\n", str);else printf ("字符串为空\n");else printf ("字符串为空\n"); 追问: 不对啊,你试下编译一下?按空格不会判断的,有输进去字符时也有点小问题。总之,你这个程序编译时通过,但是没有能实现效果。要不你试下。我将你刚刚的程序段完善了一下,跟你这个差不多,但效果实现不了。所以,高手。点解呢? 回答: 现在手头没vc6,我想办法调试下,==啊。 补充: 对了,忘记了,用scanf是不读取空格的,scanf会将空格识别为结束号,要用gets(str);#include "stdio.h"#include "string.h"void main()char str[100]; // 很久没用指针,直接上面那样有错,暂时先改数组了。int len, i = 0;gets (str);len = strlen(str);if (len > 0)while(i < len && str[i++] == ' ');else printf ("字符串为空\n");else printf ("字符串为空\n"); 参考技术A 就看第0个元素是不是 ''\0'

如果是数组 str
if(str[0]=='\0') 就是空

如果是指针
if(*p=='\0') 就是空

以上是关于C语言如何判断一个字符串是不是为null的主要内容,如果未能解决你的问题,请参考以下文章

c语言中如何判断输入的是不是数字?

c语言中判断一个字符串是不是包含另一个字符串

C语言中如何判断整数是不是为平方数

c语言如何判断输入的字符串是不是有汉字

用C语言怎么判断一个字符串是不是为空?

用C语言怎么判断一个字符串是不是为空?