学好编程! 2022-05-10 15:55 采纳率: 96.8%
浏览 16
已结题

不知道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);
  • 写回答

2条回答 默认 最新

  • Ltd Pikashu CSDN实力新星 2022-05-10 16:16
    关注

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

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

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月23日
  • 已采纳回答 5月15日
  • 创建了问题 5月10日

悬赏问题

  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强
  • ¥15 心碎了,为啥我的神经网络训练的时候第二个批次反向传播会报错呀,第一个批次都没有问题
  • ¥15 MSR2680-XS路由器频繁卡顿问题
  • ¥15 VB6可以成功读取的文件,用C#读不了