① 用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語言空字元是什麼
C語言的空字元是在字元串結尾系統自動加上的『 』,以讓系統識別出一個字元串的結尾。
如:
字元串「china」。在系統內是以「china 」儲存的。
C語言中的字元中,除了字元串末尾之外,字元串里不能包含空字元,否則最先讀入的空字元就會被誤認為是字元串結尾,因此字元串就被無故截斷了。
這種限制使得C語言原生字元串只能保持文本數據,而不能保持諸如圖片、音頻、視頻等二進制數據。只管通過len來取數據就了,不用擔心buf裡面存放的是不是空字元。
(2)c語言中如果字元串為空擴展閱讀
1、scanf() 會自動在字元串後面加上空字元。
2、scanf() 只讀取了Victor它在遇到空格、製表符、換行符的時候會停止。所以 scanf() 只能讀取一個單詞。
③ 用C語言怎麼判斷一個字元串是否為空
就是用strlen(變數)==0來判斷一個字元串是否為空,空格也是一個字元,字元串結束的標識符是'\0'
④ 用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語言編程實現,判斷從外部文件讀入的一個字元串為空
用fgets把內容讀到ch[11]來,然後通過strlen判斷ch中的長度是否大於0就行了
⑥ 問個C語言中的判斷字元串為空的方法
#include<stdio.h>
intmain(intargc,char*argv[])
{
charbuff[40]={0};
char*pStr="abc";
if('