如此面试 表达式是错的呀,buffer[5]的地址强制转换为long以后就不能用*取值了,那家伙脑子有水。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 哇!Searph,你真是高~~~~~~~~手啊!小弟对你的敬仰之情,犹如滔滔江水,连绵不绝……那个错误不看的话还真看不出来呢(旁白:这小子尽说废话,题都不看怎么知道有错),但问题是我看了都没看出来,呵呵…… 写成这样还差不多:*((long *)&(buffer[5])) 嘿嘿嘿嘿~~(星爷的笑~~)是不是写错了?如果是*((long*)&(buffer[5]))倒是正确的,这样结果应该是0x08070605 那个东西确实是错的,而且想改正也有好几种方法((long)&(buffer[5]))的值是buffer地址+5char cTest=*((char *)((long)&(buffer[5])))的值是5long lTest=*((long *)((long)&(buffer[5])))的值是0x08070605 嘿嘿……写复杂了,多写了几个long我们应该问问斑竹,在这里聊天不违法吧? To: heartlove 你可以试着去编译一下 可能是我记错了应该是*((long*)&(buffer[5]))各位大虾,告诉我解法好吗?谢谢 这种做法本身就是有问题的!在Sun Sparc上,将字符指针强制成long使用,可能引起程序崩溃。而且,在不同的CPU上,字节顺序也是不一样的。intel与Sun Sparc正好相反。这样导致同一程序在不同平台上结果不一样。 盗版vc6.0,正版win98第二版,清醒而喝完咖啡的vcbearF7编译:char buffer[]={0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9}; long V=0;//vcbear定义的 V=(long)*((long)&(buffer[5]));//第一个long是vcbear忍无可忍时添加的结果:C:Vc\MySamples\MySamplesDlg.cpp(188) : error C2100: illegal indirectionError executing cl.exe.脑子有水.... Compiler Error C2100illegal indirectionThe indirection operator (*) was applied to a nonpointer value. 如果是*((long*)&(buffer[5]))那就是 0x08070605 很简单,四个字节的long,高位在后. 谁能救救我,net-snmp开发,在使用一段时间后就收不到TRAP了。 IDOK的问题 关于程序控件风格适应用户当前应用的主题外观改变的问题 vc++网络游戏开发 在OnAccept里accept的问题?? 求助vc6或者.NET中custom wizard的用法 为什么我在FormView里画的图拖动窗口图形就没有了????? 100分求对SQL Server操作的自己封装好了的类? VC++中如何創建任意一個文件的快捷方式? 求助:数据读取的问题 各位好:请问如何使用MoveWindow()命令 急用! 雕刻机的驱动程序(三轴驱动),谁会写,从应用程序到步进电机驱动,银子可商量
是不是写错了?如果是*((long*)&(buffer[5]))倒是正确的,这样结果应该是0x08070605
((long)&(buffer[5]))的值是buffer地址+5
char cTest=*((char *)((long)&(buffer[5])))的值是5
long lTest=*((long *)((long)&(buffer[5])))的值是0x08070605
我们应该问问斑竹,在这里聊天不违法吧?
应该是*((long*)&(buffer[5]))各位大虾,告诉我解法好吗?谢谢
在Sun Sparc上,将字符指针强制成long使用,可能引起程序崩溃。
而且,在不同的CPU上,字节顺序也是不一样的。intel与Sun Sparc正好相反。
这样导致同一程序在不同平台上结果不一样。
F7编译:char buffer[]={0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9};
long V=0;//vcbear定义的
V=(long)*((long)&(buffer[5]));//第一个long是vcbear忍无可忍时添加的
结果:
C:Vc\MySamples\MySamplesDlg.cpp(188) : error C2100: illegal indirection
Error executing cl.exe.
脑子有水....
illegal indirectionThe indirection operator (*) was applied to a nonpointer value.