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,编译器可以编译为带符号的,也知可以编译为不带符号的。
\称为转义字符,可以改变\后面字符原本的含义。\+八进制数字代表字符ASCII值,32的八进制为40,因此\40代表ASCII为32的字符,即空格。A不符合字符定义,''内只能有一个字符。
A)是错误的,选A。B)不用说正确,C)的'\40'是八进制32,D)的' '是字符表示,值是32。'32'是啥?C未定义,但通常编译器认为是13106。你可以用printf("%d\n",'32');试试。
\40为8进制 转换为十进制=32,char 为单字节 ‘32’表示了两个字节了
补充一下:vc6.0下char t='32'没报错 却又警告: truncation from 'const int' to 'char'
c#语言下是会报错的。