❶ c語言程序輸入一個字元,測試是數字,空白還是其他字元
思路:如果是數組則字元a>='0'&&a<='9',如果空格字元a='
'。
參考代碼:
#include
int main()
{
char a;
a=getchar();
if(a>='0'&&a<='9')
printf("%c是數字",a);
else if(a==' ')
printf("%c是空格",a);
else
printf("%c是其他字元",a);
return 0;
}
/*
運行結果:
9
9是數字
*/
❷ c語言關於字元串檢測問題
你是在比較字元串,你又用字元的方法去一個個比,肯定出錯啊,直接這樣就ok
第二個問題:如果定義是charch=「ls」,是字元串,charch=『ls』是字元
❸ c語言怎麼檢測輸入字元串的個數
#include"stdio.h"
intmain(intargc,char*argv[]){
charch,m,t;
printf("Pleaseentersomestring... ");
m=0,t='';
while((ch=getchar())!=' '){
if(t==''&&ch!='')
m++;
t=ch;
}
printf(" Youenter%dstring(s),itis'%c'end ",m,t);
return0;
}
運行樣例:
❹ C語言中對輸入的一行字元進行一個個的測試」代碼怎麼寫
把輸入保存到一個字元串類型,調用字元串長度函數求出長度,用循環取每一個字元列印或者保存到char類型就可以了。
❺ C語言字元測試函數是什麼
你的if中的條件寫的有問題,應改為
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
這樣說明只有你輸入的是字母時,a的值才執行++操作。而你的條件c&&('a'<='z'&&'A'<='Z'))後半部分('a'<='z'&&'A'<='Z'))返回值永遠都是真,因為a和A永遠都比z和Z小呀。前半部分的c是你輸入的值,如果不是輸入了0對應的ascii碼值48,那也永遠是真,所以a條件總是成立,a總是++;結果當然就會不對了
❻ C語言求測試字元類型程序運行錯誤
請將int c,int test_char(int c);和void test_char(int c)
改成:char c; void test_char(char c);和void test_char(char c);
將:scanf("%d",&c);改成scanf("%c",&c);
另外,用switch語句列出所有情況這樣太麻煩了,不如利用ASCII碼的順序關系使用條件語句:
if ( c>='0' && c<='9' ) printf("it\'s a digit\n ");
else if ( (c>='A' && c<='Z')||(c>='a' && c<='z') ) printf("it\'s a char\n");
else if ( c==' ' || c=='\n' || c=='\t' ) printf("it\'s a white\n");
❼ C語言中如何判斷字元長度
使用string庫函數里的strlen函數即可判斷字元長度。
strlen函數可以計算給定字元串的長度,返回值為長度值。
例如計算字元串「helloworld2017」的長度的代碼:
#include<stdio.h>
#include<string.h>
intmain()
{
inti;
i=strlen("helloworld2017");
printf("%d",i);
}
運行結果如下:
❽ c語言怎麼判定字元類型的
最簡單的方法
#include
然後調用這個函數
isalpha(char
ch)
若ch是字母('A'-'Z','a'-'z')返回非0值,否則返回0
❾ 在c語言中,如何編寫檢測輸入的字元串是否為字元。
#include
<stdio.h>
#include
<stdlib.h>
void
main(
)
{
printf("請數輸入一個字元:");
char
ch
=
getchar();
if(ch>=
'a'&&ch<=
'z')
printf("該字元是小寫字母");
else
if(ch
>=
'A'&&ch
<='Z')
printf("該字元是大寫字母");
else
if(ch>='0'&&ch
<='9')
printf("該字元是數字");
else
printf("該字元是其他字元")
;
printf("\n")
;
system("pause");
}
❿ C語言中如何判斷中文字元
這是跟漢字的存儲方式有關,西文字元用ASCII碼的話,一個位元組可以表示一個字元,而漢字用的是雙位元組表示一個漢字。
那麼,為了在機器內部區分ASCII碼和漢字機內碼,就規定漢字的兩個位元組的最高為都為1.
例如:漢字「啊」的漢字機內碼為B0A1H
表示成雙位元組是這樣的10110000 10100001
本程序用的就是判斷最高位的方法。
int is_zh_ch(char p)
{
if(~(p >> 8) == 0) 將p位元組進行移位運算,右移8位,這樣,如果移位後是0,則說明原來的位元組最高位為0,不是1那麼也就不是漢字的一個位元組。
{
return 0; //代表不是漢字
}
return -1;
}