鱼C论坛

 找回密码
 立即注册
查看: 1281|回复: 9

[已解决]一个关于字符串的小问题

[复制链接]
发表于 2017-12-29 11:04:08 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 a1296715528 于 2017-12-29 11:38 编辑

前几天做题发现个字符串"\0x7g"竟然合法,一瞅答案,是'\0x7'和'g'的组合。。。然后今天又看到一个字符串"\0x7a",我到底该怎么理解它?  是'\0x7a'还是'\0x7'  'a'?  好困惑T^T   

还有就是"\007"也能理解为'\007'或者'\0'和'07'吗?
〒_〒.
最佳答案
2017-12-29 13:03:03
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         char string[] = "\0x7g";

  5.         for(int i = 0; i < sizeof(string); i++)
  6.         {
  7.                 printf("0x%.2x\n", string[i]);
  8.         }

  9.         return 0;
  10. }
复制代码

  1. 0x00
  2. 0x78
  3. 0x37
  4. 0x67
  5. 0x00
  6. 请按任意键继续. . .
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-29 11:08:54 | 显示全部楼层
"\07a" 是 '\07' 和  'a'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-29 11:13:14 From FishC Mobile | 显示全部楼层
BngThea 发表于 2017-12-29 11:08
"\07a" 是 '\07' 和  'a'

只能这么理解吗??但是我感觉第二种也好有道理
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-29 11:16:18 | 显示全部楼层
a1296715528 发表于 2017-12-29 11:13
只能这么理解吗??但是我感觉第二种也好有道理

道理何在?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-29 11:19:40 From FishC Mobile | 显示全部楼层
BngThea 发表于 2017-12-29 11:16
道理何在?

帖子开头不就引入了第二种解释吗?很OK呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-29 11:21:49 | 显示全部楼层
a1296715528 发表于 2017-12-29 11:19
帖子开头不就引入了第二种解释吗?很OK呀

开头不就是我写的方式吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-29 11:37:24 From FishC Mobile | 显示全部楼层
BngThea 发表于 2017-12-29 11:21
开头不就是我写的方式吗?

"\0x7g"那个     我去!  好像少些了个x
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-29 11:39:02 From FishC Mobile | 显示全部楼层
BngThea 发表于 2017-12-29 11:21
开头不就是我写的方式吗?

好了  现在我改了   再看看吧  dalao
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-29 13:03:03 | 显示全部楼层    本楼为最佳答案   
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         char string[] = "\0x7g";

  5.         for(int i = 0; i < sizeof(string); i++)
  6.         {
  7.                 printf("0x%.2x\n", string[i]);
  8.         }

  9.         return 0;
  10. }
复制代码

  1. 0x00
  2. 0x78
  3. 0x37
  4. 0x67
  5. 0x00
  6. 请按任意键继续. . .
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-29 13:59:51 From FishC Mobile | 显示全部楼层
人造人 发表于 2017-12-29 13:03

仿佛懂了   谢谢  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 13:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表