廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 6429 個閱讀者
 
<< 上頁  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.024651 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言