广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 6927 个阅读者
 
<< 上页  1   2  >>(共 2 页)
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
星辰雪
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x82
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

再次请问一下
str_year=(char*)malloc((2+1)*(12)*2*sizeof(char));
str_cnstl=(char*)malloc((4+1)*(12)*2*sizeof(char));

((2+1)*(12)*2*sizeof(char)); 和 ((4+1)*(12)*2*sizeof(char));

2+1是生肖判断所需要之位数
4+1是星座判断所需要之位数 对吧
后面的 (12)*2
是什么意思呢

此文章被评分,最近评分记录
财富:30 (by 三仙) | 理由: ^^ 因为您的参与,让程式设计更容易!!


「在现实孤独而痛苦的我啊,跟随着她走吧!因为你就像是落叶,毫无目的的落下,而她是只属于你的那阵风,将带你的心飞向自由。」
献花 x2 回到顶端 [10 楼] From:台湾中华电信股份有限公司 | Posted:2011-07-10 20:13 |
三仙 会员卡
个人头像
个人文章 个人相簿 个人日记 个人地图
头衔:以马内利 以马内利
版主
级别: 版主 该用户目前不上站
版区: 程式设计
推文 x17 鲜花 x370
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 星辰雪 于 2011-07-10 20:13 发表的 : 到引言文
再次请问一下
str_year=(char*)malloc((2+1)*(12)*2*sizeof(char));
str_cnstl=(char*)malloc((4+1)*(12)*2*sizeof(char));

((2+1)*(12)*2*sizeof(char)); 和 ((4+1)*(12)*2*sizeof(char));

2+1是生肖判断所需要之位数
4+1是星座判断所需要之位数 对吧
后面的 (12)*2
是什么意思呢
 

记忆体的基本单位
英文字=1 个 Byte
中文字=2 个 Byte


挖出答案的难度,取决提问的深度!
献花 x2 回到顶端 [11 楼] From:台湾中华电信股份有限公司 | Posted:2011-07-10 21:10 |
ebolaman 手机 会员卡
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖

级别: 副版主 该用户目前不上站
版区: 程式设计
推文 x38 鲜花 x458
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

抱歉我又发现我打错了

应该是要

str_year=(char*)malloc((2+1)*(12)*sizeof(char));
str_cnstl=(char*)malloc((4+1)*(12)*sizeof(char));




至于 str_year=(char*)malloc((2+1)*(12)*sizeof(char));

2 是 例如 "鸡" 的长度
1 是我额外好看用的分隔字元 ","

12 是有 十二生肖,至于之前 *2 是我之前只打中文时遗留下来的,打错了



既然已经

  str_year="鼠,牛,虎,兔,龙,蛇,马,羊,猴,鸡,狗,猪";
  str_cnstl="水瓶,双鱼,牧羊,金牛,双子,巨蟹,狮子,处女,天秤,天蝎,射手,摩羯";


我现在才终于了解,那些字串已经被载入到记忆体

因此指定符号只是指定 str_year 指标的位置到那个地方,之前 malloc 这个动作是白费力气了,所以就算删除也不会有问题

但是 get_str 函数内所需要使用的 tempc 就一定要用 malloc 因为内容需要被更动


唉唉,我对字元与字串还有型态还是搞不太清楚噫

我已经将程式码重新修改过了,请参考前面回覆部分


My BOINC stats :

献花 x1 回到顶端 [12 楼] From:台湾宽频通讯顾问股份有限公司 | Posted:2011-07-10 21:24 |
ebolaman 手机 会员卡
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖

级别: 副版主 该用户目前不上站
版区: 程式设计
推文 x38 鲜花 x458
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 三仙 于 2011-07-10 21:10 发表的 : 到引言文
 

记忆体的基本单位
英文字=1 个 Byte
中文字=2 个 Byte


感谢 三仙 大解释,但我后来发现

不仅 *2 这个是多余的,连整行 malloc 都是多余的..



[ 此文章被ebolaman在2011-07-10 22:09重新编辑 ]


My BOINC stats :

献花 x0 回到顶端 [13 楼] From:台湾宽频通讯顾问股份有限公司 | Posted:2011-07-10 21:55 |
三仙 会员卡
个人头像
个人文章 个人相簿 个人日记 个人地图
头衔:以马内利 以马内利
版主
级别: 版主 该用户目前不上站
版区: 程式设计
推文 x17 鲜花 x370
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 ebolaman 于 2011-07-10 21:55 发表的 : 到引言文



感谢 三仙 大解释,但我后来发现

不仅 *2 这个是多余的,连整行 malloc 都是多余的..


[attachment=761392]


其实程式就如你说的
已经事先宣告为固定的阵列
后面的动态的部份
其实就把他当做练习好了   表情    不要太在意了


挖出答案的难度,取决提问的深度!
献花 x0 回到顶端 [14 楼] From:台湾中华电信股份有限公司 | Posted:2011-07-10 22:02 |
三仙 会员卡
个人头像
个人文章 个人相簿 个人日记 个人地图
头衔:以马内利 以马内利
版主
级别: 版主 该用户目前不上站
版区: 程式设计
推文 x17 鲜花 x370
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 星辰雪 于 2011-07-10 20:13 发表的 : 到引言文
再次请问一下
str_year=(char*)malloc((2+1)*(12)*2*sizeof(char));
str_cnstl=(char*)malloc((4+1)*(12)*2*sizeof(char));

((2+1)*(12)*2*sizeof(char)); 和 ((4+1)*(12)*2*sizeof(char));

2+1是生肖判断所需要之位数
4+1是星座判断所需要之位数 对吧
后面的 (12)*2
是什么意思呢


呵呵  星辰雪 大的眼睛
果然如鹰眼般的
令在下配服表情


挖出答案的难度,取决提问的深度!
献花 x0 回到顶端 [15 楼] From:台湾中华电信股份有限公司 | Posted:2011-07-10 22:05 |
星辰雪
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x82
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

谢谢 两位的解释
我现在比较明白了

我也只是碰巧发现而已
看了一下程式发觉那个地方 不懂
才提出来 发问一下


「在现实孤独而痛苦的我啊,跟随着她走吧!因为你就像是落叶,毫无目的的落下,而她是只属于你的那阵风,将带你的心飞向自由。」
献花 x0 回到顶端 [16 楼] From:台湾中华电信股份有限公司 | Posted:2011-07-10 22:09 |
星辰雪
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x82
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

再次发问一下
if (input[1]>=range[0][ind][0] && input[1]<=range[1][ind][0] )

请问一下
[ind] 是什么意思?
我有看到宣告成 int


「在现实孤独而痛苦的我啊,跟随着她走吧!因为你就像是落叶,毫无目的的落下,而她是只属于你的那阵风,将带你的心飞向自由。」
献花 x0 回到顶端 [17 楼] From:台湾中华电信股份有限公司 | Posted:2011-07-10 22:13 |
ebolaman 手机 会员卡
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖

级别: 副版主 该用户目前不上站
版区: 程式设计
推文 x38 鲜花 x458
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 星辰雪 于 2011-07-10 22:13 发表的 : 到引言文
再次发问一下
if (input[1]>=range[0][ind][0] && input[1]<=range[1][ind][0] )

请问一下
[ind] 是什么意思?
我有看到宣告成 int


由于 check_range 是被呼叫的,当初使用他的主部分在这:

for (i=0; i<12; ++i)
   
if (check_range(input, i)==1)
   
{
      printf
("星座: %s座\n", get_str(str_cnstl, 4, i ));
      free
(tempc);
     
break;
   
}


到了 check_range 内部就变成了 ind

为了取得十二星座个别的 日期资料所设计的

例如 ind=0 则是取得 水瓶座 的日期资讯





ind=0 此时

range[0][ind][0] 的资料则是 1 (月份),range[1][ind][0] 则是 2 (月份)



if (input[1]>=range[0][ind][0] && input[1]<=range[1][ind][0] )
检查 使用者输入的月份( input[1] ) 是不是在范围内

if (input[1]==range[0][ind][0] && input[2]>=range[0][ind][1] || input[1]==range[1][ind][0] && input[2]<=range[1][ind][1])
找月份相等的,然后看看日期是不是 高于或低于 (这里是因为星座范围刚好上下都是一个月左右,如果突然变成 6 个星座
这样侦测会出错,还要加入一些 卡在中间的月份检查才行)

if (input[2]>=1 && input[2]<=daymax)
检查日期 (input[2] ) 是不是介于 1 和 daymax(一月份最多的天数) 之间

此文章被评分,最近评分记录
财富:30 (by 三仙) | 理由: ^^ 因为您的参与,让程式设计更容易!!


My BOINC stats :

献花 x2 回到顶端 [18 楼] From:台湾宽频通讯顾问股份有限公司 | Posted:2011-07-10 22:58 |
csr
个人文章 个人相簿 个人日记 个人地图
小有名气
级别: 小有名气 该用户目前不上站
推文 x0 鲜花 x898
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

感谢星辰雪大大
接下来的提问
而且ebolaman大大及版大也能对问题中心作解释
让小弟获益不少
谢谢大家
感恩不尽


献花 x0 回到顶端 [19 楼] From:台湾中华电信股份有限公司 | Posted:2011-07-11 14:21 |

<< 上页  1   2  >>(共 2 页)
首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.059523 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言