白月紫藤 2021-12-01 10:05 采纳率: 100%
浏览 44
已结题

C语言试题,语法问题

有以下程序:
    char a,b,c,* d;
    a = '\';
    b = '\xbc';
    c = '\0xab';
    d = "\017";
    printf("%c%c%c\n",a,b,c,* d);
编译时出现错误,以下叙述中正确的是()

A.程序中只有a = ' \ ';语句不正确
B.b = ' \xbc ' ;语句不正确
C.d = " \017 " ;语句不正确
D.a = ' \ ' ;c = ' \0xab ' ;语句都不正确

正确答案(D)

我自己运行程序控制台报错也是这两个语句,百度也是这两个语句错误,但不明白原理,请问为什么
  • 写回答

3条回答 默认 最新

  • 小兔子编程 青少年编程领域优质作者 2021-12-01 10:32
    关注

    a = '' 题目应该是想输出斜杆符号(\),但是在c语言中如果要输出单个斜杆应该要写成: a = '\' ,因为默认一个\是转义字符的标识;所以不正确会报错

    b = '\xbc' 这里\x是转义字符表示后面的值以16进制的方式进行输出 16进制bc对应的十进制就是188,正确不会报错

    c = '\0xab'; 这里应该写成\xab就不会报错了,\0转义字符表示的是字符结尾,但是单引号只能是单个字符所以不正确,如果是字符数组
    char c[] = {"abc\0abc"},这样就正确,后面的abc不会显示输出

    d = "\017"; 这对应ASCII码值为15,输出语句是用指针指向这个对应的值,所以表示正确

    希望对您有帮助,如果有那么一丢丢帮助帮忙采纳下谢谢!!!

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

报告相同问题?

问题事件

  • 系统已结题 12月9日
  • 已采纳回答 12月1日
  • 创建了问题 12月1日

悬赏问题

  • ¥15 求帮我调试一下freefem代码
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图