下面这四张图到底是为啥?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/22 10:45:27
下面这四张图到底是为啥?下面这四张图到底是为啥?下面这四张图到底是为啥?这个不算奇怪.printf由于输出列表可变,因此函数没有原型,不做强制转换;如果类型不匹配,比如int作浮点输出,行为可以是不定
下面这四张图到底是为啥?
下面这四张图到底是为啥?
下面这四张图到底是为啥?
这个不算奇怪.
printf由于输出列表可变,因此函数没有原型,不做强制转换;如果类型不匹配,比如int作浮点输出,行为可以是不定的,由各个编译器自行处理.
① i = 50,这个整数,在电脑里面存储格式是16进制的0x32.printf的时候,如果没有强制转换((float)i),而是按照float来理解i,那么0x32,按浮点数换算,就是十进制的0 (这个是在一般的汇编教材中的浮点章节都有说明,网上的教程也很多); 而如果类型转换了,浮点数50.0的16进制应该是0x42480000.
② 这个有点问题.如果你显示的是完整的,那么应该是和你的编译器有关.看你的截图,应该是64位Windows下的Dev-C++环境.但不知道你的编译器是MinGW 32位还是TDM-GCC x64?如果是,应该检查编译器本版是多少?尽量下载新的,稳定版本.你是在Dev-CPP的集成环境中直接F10运行结果的吧?建议没有修改代码后,先F12重建一下,然后再运行.
这个在我的测试环境里面,显示的是50 0.000000 50
③ 这个问题同前.printf因为可以接受动态格式数组,所以特意设计成运行时刻才决定行为的.也许是某版本的编译器的问题,导致了数据对齐或边界溢出问题.如果可能,可否说明编译环境,或干脆附上你的全部工程文件?
④ 这个好理解.&i是变量i的内存地址,因此最后打印的不是i的值,而是i的地址所对应的16进制地址,然后被按照%d的十进制表示出来了.
关于图2,3里面的最后一位i,对照图4里面的&i,怎么感觉你前面都是按照&i输出的?
下面这四张图到底是为啥?
第二性征到底是啥?18岁为啥没有喉结?为啥还没变声?为啥还没长高?
为什么黄金分割比为0·618到底是为啥?
为啥人们常说牛逼,牛逼到底是个什么词.
地球到底为啥是圆的啊啊啊
河南人到底为啥被人黑
人活这一生到底为啥呢?
最下面那个题选啥为啥
为啥男人喜欢啃下面
为啥人们常说牛逼,牛逼到底是个什么词.是吹捧吗?
我被外星人劫持了 这是为什么呢这到底是为啥呢?我很蛋疼
酸到底是由分子还是离子构成,有人说是分子,那为啥还有H+
大学无机化学ψagcl/ag=ψag+/ag到底是为啥啊!
草泥马到底是啥?怎么跟动物园的不象哈.问题是又为啥要把羊驼叫成草泥马腻.
我常想这般读书到底是为啥!对学分制很厌倦.
用哪种物质来检验二氧化碳的存在?到底是为啥啊
福临为什么会立玄烨为帝康熙选雍正为帝到底是因为啥
驾照 到底是driver's license还是driver license?还是两者都行,为啥呢?