当前位置:首页 » 编程语言 » c语言如何判断输出是否为空
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言如何判断输出是否为空

发布时间: 2023-01-30 21:40:37

⑴ 用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");

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

空格不算是空字符串,str=""这样的才算是空字符串,里面什么都没有,而str=" "是有内容了,这个str存储了一个字符(空格),如果你要把空格也算是空字符串,那么要稍作修改:
char str[] = " ";
int len = strlen(str), i = 0;
if (len > 0)
{
while(i < len && str[i++] == ' ');
if (i < len) // 字符串不空
else // 空字符串
}

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

就是用strlen(变量)==0来判断一个字符串是否为空,空格也是一个字符,字符串结束的标识符是'\0'

⑷ c语言"判断数值为空"的问题

C语言中不存在空值的情况,所谓的NULL是人为(或某些编译器)定义的一个常量,常见的是 #define NULL (0)的情况,而这个0只是赋给一个指针,即让指针初始化为内存的0地址,我们称其为空地址(或指针值为空),但实际上,C语言中所有的变量都是保存到内存中的,其值就是其所在内存单元中保存的一个数,而内存单元中只要上电,就一定会存在数据(随机数,或特定的数据)。我们不能称值为0的变量为空,因为0也是一个数据。

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

空格和字符串为空的概念本来就不一样,
如楼上所说空格本来就代表一个字符,
而空字符串直接为"\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语言中怎么判定输入是否为空

1.使用strlen函数来判断输入是否为空,如果返回值为0,就是空。
strlen做的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符''为止,然后返回计数器值(长度不包含“”)。
原 型:extern unsigned int strlen(char *s);
头文件:string.h
格 式:strlen (字符数组名)
功 能:计算字符串s的(unsigned int型)长度,不包括''在内
说 明:返回s的长度,不包括结束符NULL。

2.例程:

#include<stdio.h>
#include<string.h>
intmain(){
chars[1000];
while(gets(s)!=NULL){//循环读入s
if(0<strlen(s))//根据判断输出输入是否为空
printf("%s不为空",s);
else
printf("%s为空",s);
}
return0;
}