如果c为字符型变量,判断c是否为空格不能使用_______.(假设已知空格ASCII码为32) A

如果c为字符型变量,判断c是否为空格不能使用_______.(假设已知空格ASCII码为32)A) if(c==✀32✀) B) if(c==32)C) if(c==✀尀40✀) D) if(c==✀ ✀)我知道选A,A为什么不行,而且为什么C可以呢
2026年09月28日 22:57
有4个网友回答
网友(1):

A不符合字符定义,''内只能有一个字符。

\称为转义字符,可以改变\后面字符原本的含义。\+八进制数字代表字符ASCII值,32的八进制为40,因此\40代表ASCII为32的字符,即空格。

C语言允许对整形变量赋予字符值,也允许对字符变量赋整形值。在输出时,允许把字符变量按整形量输出,也允许把整形量按字符量输出。整形量为二字节量,字符量为单字节量,当整形量按字符量处理时,只有低八位字节参与处理。

扩展资料:

在C语言中,用关键字char定义字百符型变量。

char用于C或C++中定义字符型变量,只占一个字节,取值范围为 -128 ~ +127(-2^7~2^7-1)。C语言中如int、long、short等不指定signed或unsigned时都默认为signed,但度char在标准中不指定为signed或unsigned,编译器可以编译为带符号的,也知可以编译为不带符号的。

网友(2):

\称为转义字符,可以改变\后面字符原本的含义。\+八进制数字代表字符ASCII值,32的八进制为40,因此\40代表ASCII为32的字符,即空格。A不符合字符定义,''内只能有一个字符。

网友(3):

A)是错误的,选A。B)不用说正确,C)的'\40'是八进制32,D)的' '是字符表示,值是32。'32'是啥?C未定义,但通常编译器认为是13106。你可以用printf("%d\n",'32');试试。

网友(4):

\40为8进制 转换为十进制=32,char 为单字节 ‘32’表示了两个字节了

补充一下:vc6.0下char t='32'没报错 却又警告: truncation from 'const int' to 'char'
c#语言下是会报错的。