❶ 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 的,所以格式虽对但数值错了。不合法。