首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求赐教各种错

2012-12-31 
求指教各种错#includestdio.hmain(){char a,b,c,*da\b\xbcc\0xabd\0127printf(%c %c

求指教各种错
#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
}

热点排行