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

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

空格和字符串为空的概念本来就不一样,
如楼上所说空格本来就代表一个字符,
而空字符串直接为"\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("字符串不为空");
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-14
如果你输入了空格,字符串严格来说就应该不为空了,空格也是有对应的ASCII码值的,32!char的存储范围是0~255(ASCII)间的字符都可以存在char型数据中。因此你输入一个空格后这个字符串就不为空了,这个字符串实际是" \0",一个空字符串相当于"\0",看到区别了吗?空格也是一个字符啊!这点必须要明确!
第2个回答  推荐于2017-05-23
用字符串长度测试函数strlen(str);
如果自字符串为空,则返回值为0;
第3个回答  2012-02-14
一个函数搞定 if(strcmp(str,"")==0)
第4个回答  2012-02-14
#include<stdio.h>
#include<string.h>
int main(void)
{
char s[1000];

gets(s);
if(s[0]==0)puts("空");
else puts("不空");
return 0;
}

用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语言怎么判断一个字符串是否为空?
空格不算是空字符串,str=""这样的才算是空字符串,里面什么都没有,而str=" "是有内容了,这个str存储了一个字符(空格),如果你要把空格也算是空字符串,那么要稍作修改:char str[] = " ";int len = strlen(str), i = 0;if (len > 0){ while(i < len && str[i++] == ' ...

用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";\/\/我其实...

相似回答