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

在百度上搜索得来的结果是用 if(strlen(变量)==0),但是那样如果你输入的是空格,会判断不出来的,那位高人来指点下?!!

空格不算是空字符串,str=""这样的才算是空字符串,里面什么都没有,而str=" "是有内容了,这个str存储了一个字符(空格),如果你要把空格也算是空字符串,那么要稍作修改:
char str[] = " ";
int len = strlen(str), i = 0;
if (len > 0)
{
while(i < len && str[i++] == ' ');
if (i < len) // 字符串不空
else // 空字符串
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-14
空格和字符串为空的概念本来就不一样,
如楼上所说空格本来就代表一个字符,
而空字符串直接为"\0"
如果你要把空格的字符串也定义为空字符串的话
就要加判断
空格的ASCII码为32
你只需要再多加一个遍历判断就OK

int IsEmpty = 0;
int length = strlen(变量);
int n;
//遍历整个字符串,如果全为空格,则返回字符串也为空
for(n=0;n<length;n++)
{
//判断ASCII码是否为32
if(变量[n]==32)
IsEmpty=1;
else
{
IsEmpty=0;
//存在一个字符则跳出循环
break;
}
}
if(length == 0)
printf("字符串为空");
else if(IsEmpty)
printf("字符串为空");
else
printf("字符串不为空");
第2个回答  2012-02-14
如果你输入了空格,字符串严格来说就应该不为空了,空格也是有对应的ASCII码值的,32!char的存储范围是0~255(ASCII)间的字符都可以存在char型数据中。因此你输入一个空格后这个字符串就不为空了,这个字符串实际是" \0",一个空字符串相当于"\0",看到区别了吗?空格也是一个字符啊!这点必须要明确!
第3个回答  推荐于2016-02-14
空字符串的长度为0,那就是说第一个字符是'\0',所以可以用下面的代码行判断:
char str1[]="",str2[]="abc";
printf(str1[0]=='\0' ? "str1是空字符串\n" : "str1是非空字符串\n");
printf(str2[0]=='\0' ? "str2是空字符串\n" : "str2是非空字符串\n");
第4个回答  2014-02-13
空格和字符串为空的概念本来就不一样,
如楼上所说空格本来就代表一个字符,
而空字符串直接为"\0"
如果你要把空格的字符串也定义为空字符串的话
就要加判断
空格的ASCII码为32
你只需要再多加一个遍历判断就OK

int IsEmpty = 0;
int length = strlen(变量);
int n;
//遍历整个字符串,如果全为空格,则返回字符串也为空
for(n=0;n<length;n++)
{
//判断ASCII码是否为32
if(变量[n]==32)
IsEmpty=1;
else
{
IsEmpty=0;
//存在一个字符则跳出循环
break;
}
}
if(length == 0)
printf("字符串为空");
else if(IsEmpty)
printf("字符串为空");
else
printf("字符串不为空");

用C语言怎么判断一个字符串是否为空?
回答: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(){...

用C语言怎么判断一个字符串是否为空?
空格的ASCII码为32 你只需要再多加一个遍历判断就OK int IsEmpty = 0;int length = strlen(变量);int n;\/\/遍历整个字符串,如果全为空格,则返回字符串也为空 for(n=0;n<length;n++){ \/\/判断ASCII码是否为32 if(变量[n]==32)IsEmpty=1;else { IsEmpty=0;\/\/存在一个字符则跳出循环 ...

用C语言怎么判断一个字符串是否为空?
1、在打开的ie浏览器窗口右上方点击齿轮图标,选择“Internet选项”,如下图所示:2、在打开的Internet选项窗口中,切换到安全栏,在安全选卡中点击“自定义级别”,如下图所示:3、在“安全设置-Internet 区域”界面找到“Java 小程序脚本”、“活动脚本”,并将这两个选项都选择为“禁用”,然后点击...

c语言怎么判断一个字符串是否空?
在C语言中,我们可以使用 strlen 函数来检查一个字符串是否为空。strlen 函数会返回字符串的长度,如果字符串为空,那么长度就为0。以下是一个简单的例子:♡♡ 有帮助到的话,麻烦采纳哦!♡♡

C语言如何判断一个字符串是否为null
用if语句,当第一个为‘\\0’时,就为空字符串!

C语言中,如何判断一个字符数组是空的
比如char a[10];这元素值都是随机值,无法判断。如果char a[10]={'a','b','c','d','e'};这样除了前5的元素后面都是0。可以用0来判断。如果char a[10]="abcde";这样由于“abcde”是字符串常量,内存中实际还有最后一个0.所以a数组中第6位就是0。同样可以用0来判断。所有有结束符号0...

如何判断一个字符串指针是否为空(C语言)
{ char *str = (char*)malloc(sizeof(char)*10); \/\/分配地址空间 gets(str); \/\/输入 if(str[0]!='\\0') \/\/由于字符串以'\\0'结尾,故可以这样来判断 { printf("非空!\\n"); } else printf("空\\n");} 望采纳......

C语言如何判断非空字符串
有两种情况;1、C语言标准字符串以'\\0'结束,空字符串首字符为'\\0';2、比较极端的情况是传过来的是字符串指针值就是NULL,也需要加以判断。

c语言怎么判断输入的字符串是空格?
include<string.h> struct info { char name[20];char tel[20];} person[4]; \/\/一般定义结构体最好放到main函数的外面,这样结构清晰 int main()\/\/最好把void换为int,不过你那样也对,这只是我的习惯 { int i,j;char findname[20];char empty[20]=" ";char a[20]="break";\/\/我其实...

c语言如何定义一个函数判断一个字符串是否含有空白字符
1;return 0;} int main(){ char s1[]="aaa1A+";char s2[]="aaa1 1A+";if(haveaspace(s1))printf("%s包含空白字符\\n",s1);else printf("%s不包含空白字符\\n",s1);if(haveaspace(s2))printf("%s包含空白字符\\n",s2);else printf("%s不包含空白字符\\n",s2);return 0;} ...

相似回答