一段小代码

gdsean 2002-11-11 10:25:41
word是char数组
for(j=0;j<strlen(word);j++){
word[j]+='0x05';
}
请问word[j]+='0x05'是什么意思?
每个char都加上一个5,是char的指针位置偏移5还是char值加5呢?

...全文
58 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdsean 2002-11-11
  • 打赏
  • 举报
回复
TMD破网站给不了分,楼上的弟兄我会记得给分的,
现在给不了,改天吧
black_snail 2002-11-11
  • 打赏
  • 举报
回复
sorry , I made mistake in my previous thread

word[j]+='0x05': word[j] 的ascii 值加53(53是'5'的ascii值)
word[j]+=0x05:word[j] 的ascii 值加5
gdsean 2002-11-11
  • 打赏
  • 举报
回复
word[j]+='0x05'
word[j]+=0x05
有什么区别??
2 command_zhang:代码没有打错
gdsean 2002-11-11
  • 打赏
  • 举报
回复
谢谢楼上两位
C的char是否等于byte?
塑料勺 2002-11-11
  • 打赏
  • 举报
回复
不会吧,你是不是打错了..是word[j]+=0x05吧!
如果是你说的这样.是word[j]中的值加5.不是地址加5.
就你说的这样的...没有什么情况是地址加5...只有值加5或别的情况.
black_snail 2002-11-11
  • 打赏
  • 举报
回复
#include <stdio.h>
main()
{ int j;
char word[4] = {'A','A','A','A'};
for(j=0;j<strlen(word);j++)
{
word[j]+='0x05';
printf("%c",word[j]);
}
}

0x05 is 十六进制表达式。word[j] 的ASCII码加5
zxm954712 2002-11-11
  • 打赏
  • 举报
回复
word[j]+='0x05'表示word[j] = word[j] + '0x05'
是一个字符的ascii码加上5变成了另外一个ascii码的字符,具体请看ascii码表阿,是char值加5阿

70,022

社区成员

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

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