c出这个错是什么原因啊?

来源:百度知道 编辑:UC知道 时间:2024/06/17 13:30:18
#include<stdio.h>
main()
{
char c;
c='\0'; /*初始化c*/
while(c!='\0X0D') /*回车结束循环*/
c=getche(); /*带回显的从键盘接收字符*/
}
上面的while(c!='\0X0D') /*回车结束循环*/
出现下面这个错误.
错误 noname.c 6: 字符型常量太长在 main 函数中
是什么原因啊
while(c!=\X0D) /*回车结束循环*/
这样也不对啊.还是一样的提示出错啊.
while(c!='\X0D') /*回车结束循环*/
还是一样啊.
行了,把while(c!='\X0D')里面的x改为小写的就可以了啊.

楼主,十六进制表示的字符用'\x0D',不是'\0X0D'
0X0D是十六进制数的表示方法,而且不能用单引号

倒,我是说十六进制数的时候不加单引号,没跟你说你写字符常量也不加单引号,不加单引号编译器怎么识别是字符常量阿!都跟你说了

十六进制表示的字符用'\x0D'

getche()接收的是字符串,而C是字符型变量,不能接收字符串所以会出现"字符型常量太长"的错误