不知道abcd的是否正确 应该怎么书写呢

  1. #include <stdio.h>
    void main()
    {
    char a,b,c,*d;
    a='';
    b='\xbc';
    c='\0xab';
    d="017";
    printf(这里有四个%c\n",a,b,c,*d);

char是字符类型,只能给他赋值一个字符

  1. a = ''; 这里不对,字符变量不能赋空值
  2. b='\xbc' 这里没问题,\是一个转义操作,\x开头就是表示后面跟的是十六进制数
  3. c='\0xab' 这里有问题 \0是后接八进制,八进制没有字母,所以会报错,编译器要么直接报错,要么报警告,因为你0后还有个x,编译器不知道你要的是八进制还是十六进制
  4. d=017 这里不会报错,但是实际只输出 0 ,因为一开始说到char只能赋值一个字符,而017有三个字符,他只拿了第一个做为值

img

img

只有C能输出

img