| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2936 人关注过本帖
标题:初来乍到, 有问题请教
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册


你看左下角的字节、字、双字、四字部分,视你选择了多少byte而定。

[ 本帖最后由 TonyDeng 于 2012-6-28 22:48 编辑 ]

授人以渔,不授人以鱼。
2012-06-28 22:47
wangchengbin
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2012-6-27
收藏
得分:0 
回复 21楼 TonyDeng
版主,
我刚回来.    按照题目   32位X86平台   应该选哪个呢?     四字, 双字,字,字节   是什么意思?     我刚才试了,选四字的时候确实是16个F.
2012-06-29 20:00
wangchengbin
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2012-6-27
收藏
得分:0 
回复 21楼 TonyDeng
...
2012-06-29 20:13
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
每个WORD是2Byte即16位,32位就是DWORD,64位是四字。在十六进制中,每个F是4位,FF为1Byte,故32位有8个F,64位有16个F。

授人以渔,不授人以鱼。
2012-06-29 21:30
wangchengbin
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2012-6-27
收藏
得分:0 
回复 24楼 TonyDeng
已经全部明白.   

Many Thanks
2012-06-29 22:29
wangchengbin
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2012-6-27
收藏
得分:0 
回复 24楼 TonyDeng
楼主,

想请教另外一个问题.
3、调用函数Function2之后,x,y,z三个变量的值是什么?
void Function2(int  x,  int&  y,  int*  z)
{
    x = 1;
    y = 2;
    z = 3;
    return;
}

int x,  y,  z=0;
Function2(x,  y,  &z);
答:
我不知道怎么来解释???
2012-06-29 22:33
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用wangchengbin在2012-6-29 22:33:40的发言:

楼主,

想请教另外一个问题.
3、调用函数Function2之后,x,y,z三个变量的值是什么?
void Function2(int  x,  int&  y,  int*  z)
{
    x = 1;
    y = 2;
    z = 3;
    return;
}

int x,  y,  z=0;
Function2(x,  y,  &z);
答:
我不知道怎么来解释???

你这个代码编译就要报错,哪来的结果。x,y没有初始化,在调用行应该不通过的。理论上,执行Function2()之后,x不变(不知为何值),y=2,z在Function2()内部使用错误,指针被改向,但没有指针解引用,不至于运行时崩溃,z仍然等于0。

[ 本帖最后由 TonyDeng 于 2012-6-29 23:16 编辑 ]

授人以渔,不授人以鱼。
2012-06-29 23:04
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
收藏
得分:7 
unsigned int,是定义无符号数的,
两个无符号数据运算的结果也是无符号数,
一个非零的无符号数在条件表达式中是作为逻辑“真”处理的。
不知道我说明白没有?

做自己喜欢的事!
2012-06-29 23:14
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
收藏
得分:0 
unsigned int,是定义无符号数的,
两个无符号数据运算的结果也是无符号数,
一个非零的无符号数在条件表达式中是作为逻辑“真”处理的。
不知道我说明白没有?

做自己喜欢的事!
2012-06-29 23:16
wangchengbin
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2012-6-27
收藏
得分:0 
回复 27楼 TonyDeng
版主, 你好!
是如下题目:

#include<stdafx.h>
#include"stdio.h"
void Function2(int  x,  int&  y,  int*  z)
 {
     x = 1;
     y = 2;
     *z = 3;
     return;
 }
 void main()
 {
   int x=0, y=0,z=0;
   Function2(x,y,&z);
   printf("%d %d %d",x,y,z);
 }
运行后是 0  2  3
结果与我分析的结果又差别.  我是这样理解的, x变量通过Function2函数调用后应该是x=1吧?
y通过Function2函数调用 是传递指针的话但是指针里的内容不变吧? x=0
z的话传递指针 通过Function2函数调用 其内容通过*z=3,所以z的内容等于3 这个能理解.
所以关于变量传递参数 怎么实现调用不太理解呢?





















































2012-06-30 08:13
快速回复:初来乍到, 有问题请教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019255 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved