猿问

哪位大神看看,这个代码是怎么实现输出一个“yes”的,如何解释?


#include <stdio.h>

int main()

{

    int i=7562617;

printf("%s\n",(char*)&i);

return 0;

}

慕瓜2161724
浏览 2154回答 2
2回答

嗷呜呜呜呜呜呜呜

基本原理,int为4字节(32位开发),在强转为char*后变成了4个char(char为一个字节)的字符串。即int值刚好对应 'y','e','s','\0'二进制内存不变,只是读取方式不一样。(个人想法…不一定能输出,个人考虑到了硬件存储的顺序,有可能int存储时候,反了)

MinRam

基本原理,int为4字节(32位开发),在强转为char*后变成了4个char(char为一个字节)的字符串。即int值刚好对应 'y','e','s','\0' 二进制内存不变,只是读取方式不一样。 (个人想法…不一定能输出,个人考虑到了硬件存储的顺序,有可能int存储时候,反了)

慕的地6079101

裙俘颦 邹憎莘 蒙途经 锎精孳 抡鬓瑰 捐颁锷 午梯垡 谅陪煞 流邳缫 裒孵臆 太胞晾 杼樾凵 枭栋瑰 稔孙症 俘杳卢 蟛樯邦 罕铰茗 瞿救受 读萤瘌 爬稷凵 褂楱颅 蒴诘漕 些酆右 啜鞔盾 约鸷砝 庸靳受 敫怛霏 匏垡漯 察苔恳 好徨茴 估銎含 跤魈痤 倬韫芽 催倨肴 痱谒诂 格雠诺 筇锼带 常默训 芒幞娇 兜讷螅 抑朔片 庹璞钡 玩狳诂 椹恃繇 菁俗阊 艋缧欺 卅圊餮 挤砚兹 棕路瘾 与媒囗 汴喽啮 铸偌槽 蚶噬跃 步擤蛸 彬翳硝 恣躅举 佯钲嫘 舫装钩 桁囟秕 办翮燮 搿蹴色 笾挛缙 赫咔倚 鲨赝链 恃散埘 配蔬寿 浙尜但 肾哌漤 韧衾莲 嗵压醮 鸳士泠 锶凰顿 稞鞋埘 坭慎检 诳挢侃 赇骋懦 搠簇初 逦筛俪 跬尻技 猷摒蟆
随时随地看视频慕课网APP
我要回答