读书人

求赐教各种错

发布时间: 2012-12-31 11:57:52 作者: rapoo

求指教各种错
#include<stdio.h>
main()
{
char a,b,c,*d;
a='\';
b='\xbc';
c='\0xab';
d="\0127";
printf("%c %c %c %c\n",a,b,c,*d);
}


(5):错误C2001:换行符在常数
(6):警告C4305:' = ':截断从‘const int”到“char“
(6):错误C2146:语法错误:失踪';' ' b '之前标识符
(7):警告C4305:' = ':截断从‘const int”到“char“


为什么a='\'会出错啊? \不是也是字符麽?
[解决办法]
'\'是特殊字符--转义字符,其中a='\',\会转义第二个单引号,它再也不是跟第一个表示字符类型的单引匹配了,第二个单引号就是一个纯粹的字符了,这使得这个表达式不完整.a = ' \'的效果与a = 'B ;(只有一个单引号一样) ,要用到\,必须 用 a = '\\'
[解决办法]


#include<stdio.h>
main()
{
char a,b,c,*d = "\0127";//直接赋值只能放在初始化
//a='\';
a='\\';//转移符\不能单独存在
b='\xbc';
//c='\0xab';
c='\xab';//前面加0会被认为是8进制,而8进制并没有xab之类的符号
//d="\0127";
//printf("%c %c %c %c\n",a,b,c,*d);
printf("%c %c %c %s\n",a,b,c,d); //打印字符串需要用%s
}

读书人网 >C++

热点推荐