用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");
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-24
就看第0个元素是不是 ''\0'

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

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

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网