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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用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语言怎么判断一个字符串是不是为空?的主要内容,如果未能解决你的问题,请参考以下文章

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

c语言结构体怎么判断是不是为空

C语言中怎么判定输入是不是为空

用C语言,怎么样判断一个字符串是否纯数字

JS中怎么判断变量是不是为字符串?如果是,怎么判断是不是为零?

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