❶ c語言 關於 字元型與非字元的問題
&符號代表取地址,而scanf語句只能將數據輸入進一個地址,而指針內容本身就是它所指向數據的地址;定義一個字元串時,例如 char str(9),其中str就是一個指針,指向字元串第一個字元,故輸入數據給字元串和指針時不加&符號。
❷ C語言 如果要判斷一個輸入的是不是數字``而不是字元怎麼表示
判斷ASCII碼的范圍就行
❸ c語言怎麼判斷輸入的是數字不是字元
intmain()
{
intc=getchar();
if(c>='0'&&c<='9')printf("%c是數字 ",c);
elseprintf("%c是字元 ",c);
}
❹ 急!!!用c語言 怎麼判斷輸入的是非數字字元串 請各位幫忙
只要判斷輸入的字元的ASCII碼不在數字0~9的ASCII值范圍就行了:
scanf("%s",str);
for(i=0;i<strlen(str);i++)
if (str[i]<'0'||str[i]>'9') ...;
我寫了個大概,你要怎麼處理判斷結果,自己再補充
按你補充的說法,就是碰到非數字就提示吧:
scanf("%s",str);
for(i=0;i<strlen(str);i++)
if (str[i]<'0'||str[i]>'9') {
printf("error");
return;}
printf("%d\n",atoi(str));
return;
❺ 在C語言中,是非法的字元常量
B(是一個字元串常量)
17的ascii碼是15,是轉義字元,後面的數字是八進制。
(17)8=(1*8+7)10=(15)10括弧後面的數表示進制。
確實xAA是十六進制的一種表示形式,代表一個字元常量,17是八進制的表示形式。 和 都是轉義字元: 表示Tab,也是字元常量。 就有些糾結了,它也是轉義字元,如果理解為換行符,它就是字元常量,如果理解為回車換行符,那它就表示兩個字元,不是字元常量了。
(5)c語言如何表示非字元擴展閱讀:
除了字元常量外,C++還允許用一種特殊形式的字元常量,就是以「」開頭的字元序列。例如,』 』代表一個「換行」符。「cout<<』 』;」將輸出一個換行,其作用與「cout<<endl;」相同。這種「控制字元」在屏幕上是不能顯示的,在程序中也無法用一個一般形式的字元表示,只能採用特殊形式來表示。
轉義字元雖然包含兩個或多個字元,但它只代表一個字元。編譯系統在見到字元「」時,會接著找它後面的字元,把它處理成一個字元,在內存中只佔一個位元組。
❻ c語言字元型與非字元型的區別
字元型就是1位元組整型!非字元型就多了,int、float、double等等。字元型取值范圍是-128~+127,在unsigned修飾下取值是0~255。其他的都是多位元組的。
❼ c語言中所謂的非法字元有哪些
首先看定義,用單引號括起來的單個字元,或用雙引號括起來的一串字元即字元常量。
C '&' 是用單引號括起來的單個字元,正確。
A '\xff' B '\65' D'\028' 是用單引號括起來的多個字元,但因它們前面都 有一個轉義符 『\『 ,就不能說它們都不符合定義,都不合法的。
A '\xff' 中 '\x' 組合表示是一個十六進制數 ffH = 10 進制的 255 ,它代表一個不可見字元的ASCII 碼, 合法 。
B '\65' 同理 '\' + 三個十進制數 '\ddd' 表示的是 八進制數。'\65' = '\065' = 10 進制的 53, 是 『F』 的ASCII 碼表示。單 字,合法。
D '\028' 同上表示是八進制數,但八進制數中逢八則進一,是不會出現 8 的,所以格式雖對但數值錯了。不合法。
❽ c語言中非法字元有哪些
首先看定義,用單引號括起來的單個字元,或用雙引號括起來的一串字元即字元常量。
C '&' 是用單引號括起來的單個字元,正確。
A '\xff' B '\65' D'\028' 是用單引號括起來的多個字元,但因它們前面都 有一個轉義符 『\『 ,就不能說它們都不符合定義,都不合法的。
A '\xff' 中 '\x' 組合表示是一個十六進制數 ffH = 10 進制的 255 ,它代表一個不可見字元的ASCII 碼, 合法 。
B '\65' 同理 '\' + 三個十進制數 '\ddd' 表示的是 八進制數。'\65' = '\065' = 10 進制的 53, 是 『F』 的ASCII 碼表示。單 字,合法。
D '\028' 同上表示是八進制數,但八進制數中逢八則進一,是不會出現 8 的,所以格式雖對但數值錯了。不合法。