求解两道C语言问题

weixin_41292798 2017-12-06 02:25:11
1.字符串“A\x11T\101C”的长度是多少?
2.设有说明语句:int k = 5;double t; 执行语句t = (double)k;之后,变量k的数据类型是?

第一题看不懂。。第二题自己理解是t为double类型,k为整形,t又=(double) * k,那k不就要转化为double类型相乘吗?答案是int型,不懂。。
...全文
610 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jena_wy 2017-12-06
  • 打赏
  • 举报
回复
\x11是一个转义字符,代表的是十六进制, \101是八进制。
自信男孩 2017-12-06
  • 打赏
  • 举报
回复
先说第二个t = (double)k;这个赋值操作是现将k的值转成double类型,然后赋值给t。这个操作注意是k的值,即内存里存放的值,而不是k转double。因此k还是int类型。k的类型是由其定义时决定的,中间不能改变其类型。 第一个输出字符长度,个人建议先运行一下strlen(),看输出结果是多少,然后分析一下; 该字符串中有两个转义字符\,第一个\x说明后面11是十六进制数。'\101'输出值是65,即是8进制数。 因此这两个转义后的只能算是2个字符,再加上3个字母,总共是5个字符长度。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧