| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 677 人关注过本帖
标题:字符初始化,看不懂
只看楼主 加入收藏
afone
Rank: 1
等 级:新手上路
帖 子:12
专家分:2
注 册:2013-8-23
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:14 
字符初始化,看不懂
unsigned char bitMask[9];
bitMask[0]+=1; //Add a
bitMask[0]+=2; //Add b
bitMask[0]+=4; //Add c
bitMask[0]+=8; //Add d
bitMask[0]+=16; //Add e
bitMask[0]+=32; //Add f
bitMask[0]+=64; //Add g
bitMask[0]+=128; //Add h
bitMask[1]+=1;  //Add i
.......
.......
bitMask[9]+=128;
-----------------------------------
typedef enum
{
  a=0,
  b=1,
  c=2
  ...
  ...
  i=9
}

各位大神们,这是我截取的代码中的一段,简化了一下,不知道你们能不能理解,我看不懂啊!
2014-06-17 10:35
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
你没有上下文怎么做阅读理解啊?
bitMask[9]+=128;   这句越界了

总有那身价贱的人给作业贴回复完整的代码
2014-06-17 10:42
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
看不懂
2014-06-17 11:22
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:20 
你首先要研究正确的代码才有意义

比如:你想研究1+1为什么=3  那是没有任何意义的

DO IT YOURSELF !
2014-06-17 12:14
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
收藏
得分:0 
回复 2 楼 embed_xuel
程序代码:
unsigned char bitMask[9];
bitMask[0]+=1; //Add a
bitMask[0]+=2; //Add b
bitMask[0]+=4; //Add c
bitMask[0]+=8; //Add d
bitMask[0]+=16; //Add e
bitMask[0]+=32; //Add f
bitMask[0]+=64; //Add g
bitMask[0]+=128; //Add h
bitMask[1]+=1;  //Add i
.......
.......
bitMask[9]+=128;
-----------------------------------
typedef enum
{
  a=0,
  b=1,
  c=2
  ...
  ...
  i=9
}


声明的是unsigned char bitMask[9];

unsigned char 的范围貌似是0~255吧,128应该没越界吧.

代码测试环境:  WinXP+C-Free5.0.
2014-06-17 12:14
afone
Rank: 1
等 级:新手上路
帖 子:12
专家分:2
注 册:2013-8-23
收藏
得分:0 
代码就是这么写的,用来初始化字符串的,可能是分配一个空间,另外和a,b,c,d这些枚举的常量也有关系,但是具体的不懂。
2014-06-17 12:16
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用afone在2014-6-17 12:16:33的发言:

代码就是这么写的,用来初始化字符串的,可能是分配一个空间,另外和a,b,c,d这些枚举的常量也有关系,但是具体的不懂。



问题的关键是谁写的  就是代码大仙这么写代码也是错误的  你研究他干嘛

DO IT YOURSELF !
2014-06-17 12:21
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 5 楼 vvvcuu
你再好好看看琢磨琢磨吧

总有那身价贱的人给作业贴回复完整的代码
2014-06-17 12:34
afone
Rank: 1
等 级:新手上路
帖 子:12
专家分:2
注 册:2013-8-23
收藏
得分:0 
回复 7 楼 wp231957
代码肯定是没有问题的,已经使用了。可能是我简化的不够好,你觉得哪里不对,我看一下。
2014-06-17 12:35
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用afone在2014-6-17 12:35:44的发言:

代码肯定是没有问题的,已经使用了。可能是我简化的不够好,你觉得哪里不对,我看一下。



申请内存空间是需要初始化的   也许你的编译器比较神奇  可以直接申请到全0的空间
而申请空间的初始化是需要  =  而 不是 +=

DO IT YOURSELF !
2014-06-17 12:43
快速回复:字符初始化,看不懂
数据加载中...
 
   



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

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