下面的程序能够正常编译, 请问怎样解释ch='\\\afe' 
thanks
#include <stdio.h>
main()
{
int a=36;
char ch='\\\afe';    
printf("%c", ch);
}

解决方案 »

  1.   

    程序能够正确编译,是没有错误,但是有两个警告。
    你可以看这两个警告信息,然后你可以查看运行结果,也许你会明白一点什么。我虽然不能很具体解释这个现象,但是你这个问题也不是什么bug。只能说我们懂得还是不够。
      

  2.   

    char ch='\\\afe';    中\\是转意字符,如果ch='\\'它将输出'\'.由于你定义的只是一个char型的ch,所以只会输出'\'.
    如果你定义为char ch[]="\\\afe".输出改为printf("%s", ch);则计算机出现报警声的同时,输出\fe.报警声不要怕,它是正常的,因为\a就是报警的转意符。