一个移位的问题,怎么不明白呢?

lzy0001sl lzy0001sl 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
char *str = (char *)malloc(100);
memset(str, 0, 100);
fflush(stdin);
scanf("%s", str);
*(unsigned short*)(str+strlen(str)-1) = (*(str+strlen(str)-1))<<8;


例如输入:hello
那么在执行完最后一句之后,在内存中看到的str是:hell'\0'o
我怎么感觉应该是hell'\0''\0'啊,最后一句实现了不用中间变量交换字符串的最后一个字符与'\0'位置的功能
...全文

相关推荐

评论 14
收藏 已收藏
分享
返回顶部
lzy0001sl
C语言 70,039 成员 243,237 内容