當前位置:首頁 » 編程語言 » 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;
}