字符数组的问题

smileme 2003-11-10 06:40:25
在读程序时遇到一个这样的问题(tc)
定义了一个字符的数组 token[80]
用指针的方法给她赋值
*token=1
*(token+1)=0
用add watch看有以下的结果
token=“10”
token[80]='\x3'
*token='1'
*(token+1)='0'
问题:1、双引号和单引号有何区别(token=“10”、token[80]='\x3')
2、字符数组也可以放数字么
3、为什么token=“10”(token应该是个指针呀,因该是个内存地址)
4、token[80]='\x3',这个结果我想不通。
小弟初学,请指教,谢谢


...全文
36 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gernal_dn 2003-11-10
  • 打赏
  • 举报
回复
双引号是字串,本质上就是指针。
单引号是值,本质上是一个byte大小的int。
字符数组也可以放数字,放的是ASCII码。
liem 2003-11-10
  • 打赏
  • 举报
回复

*token='1'
*(token+1)='0'吧
token[80]已经超出了数组下标范围(下标范围为0-79),因此是一个随机的数,'\x3'表示是16进制数3对应的字符。
token是数组,在watch中显示出所有字符('\0'以前的)

69,369

社区成员

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

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