0201为什么是非法字符常量

@鞠相13984065884 c语言合法常量:第4题,如图,以下均是非法常量的是 -
******5293官飘 (A)选项中, 'ads'是非法的, 因为'x'是字符型常量, x必须是单个字符, 也有一些特殊的比如'\n', '\t', 题目中'\\'是表示 \ 不能用'\'表示 其他都是合法的, 0xabc表示十六进制abc

@鞠相13984065884 为什么两个连续的单引号不是合法的字符长常量 而两个连续的双引号就是合法的字符串常量. -
******5293官飘 因为 “” == '\0' 而 ''就是什么都没有 合法的字符串是要能结束的 什么都没有的''当然是非法的 以上来自C

@鞠相13984065884 为什么两个连续的单引号不是合法的字符长常量 而两个连续的双引号就是合法的字符串常量. -
******5293官飘 因为''会被认为是非法字符,''可能会改变某些sql语句.比如select * from d where s='h'如果用户输入select * from d where s='1'1=1'' 这样的话你的程序就会被破坏

@鞠相13984065884 请问在C语言中'ch'为什么是非法字符常量?
******5293官飘 'ch'代表了两个ascii字符,是不能使用char ch='ch'赋值的,你可以这样char ch='c'.或者使用数组char ch[]={'c','h'}; 这样就可以了

@鞠相13984065884 一下选项中非法的字符常量是 A,'\102' B'\65' C'\xff' D'\019' -
******5293官飘 八进制数的话要三位.B如果是 '\065' 就可以

@鞠相13984065884 在C语言中的字符常量 -
******5293官飘 A 因为\t是转定义字符不能当字符常量 表示的是水平制表符

@鞠相13984065884 c语言中'\0xa'为什么是非法常量 -
******5293官飘 c语言规定十六进制转义符写法为'\xhh'比如'\xa'或'\x0a' 而转义符后直接跟数字的是八进制数,'\0xa'所以错了

@鞠相13984065884 C语言中,出现非法字符时会发出错误对吗 -
******5293官飘 是的,会编译不通过,而且报的错误千奇百怪.最常见的就是中文字符了. 合法字符见ascii码表.

@鞠相13984065884 求解C答案为啥不是正确的字符常量?
******5293官飘 首先排除D,字符常量要用单引号括起来,不是双引号 然后排除B,'\'是错的,\后面跟别的内容,作为转义字符,'\\'才是正确的,它表示字符'\' 最后排除C,'\'后面跟八进制数,而八进制数只能是0~7的数,9非法,所以选择A

为传递更多信息,若有事情请联系
数码大全网