C語言 ~ 字串程式解釋 *15點*

2009-04-09 10:04 am
希望大大們 能幫幫小弟 ~

剛入門沒多久 ~

(***希望能一行一行都解釋清楚***) ~ 麻煩摟^^ ~ 15點

問1..................................................

請問大大 該怎麼學好C語言了 (勿推銷)

問2.............................................................

int string_length(char s[ ])
{
int i = 0;

while ( s[i] != '\0' )
i++;
return i;
}
int main()
{
char string1[ ] = {'t','e','s','t','i','n','g','\0'};
char string2[ ] = {'t','e','s','t','\0'};
int j = 0;

j = string_length(string1);
printf("第 1 個字串長度 ==> %d \n",j);
j = string_length(string2);
printf("第 2 個字串長度 ==> %d \n",j);

system("pause");
return 0;
}

回答詳細明瞭 ~ 小弟會快速給點唷 ^^"

感激 ~

回答 (4)

2009-04-09 5:10 pm
✔ 最佳答案
要學好C語言的方法就是多寫、多看別人怎麼寫!
int string_length(char s[ ])
{
int i = 0; //陣列是以0開始計算
while ( s[i] != '\0' )//當還沒有到'\0'字元時,繼續迴圈
i++; //如果未到字串結尾,陣列索引值加 1
return i; //傳回字串長度
}
int main()
{
//宣告兩個陣列儲存字串
char string1[ ] = {'t','e','s','t','i','n','g','\0'};
char string2[ ] = {'t','e','s','t','\0'};
//宣告整數變數,儲存string_length(char s[])的傳回值
int j = 0;
j = string_length(string1); //呼叫函式計算字串長度
printf("第 1 個字串長度 ==> %d \n",j); //列印結果
j = string_length(string2);
printf("第 2 個字串長度 ==> %d \n",j);
system("pause"); //程式暫停
return 0;
}


2009-04-09 11:15:38 補充:
沒錯,要看清楚,有的人將可攜性用相容性來形容,而且來拉幾個垃圾來鞏固自己的錯誤,是該小心!

2009-04-09 13:34:35 補充:
連發問者自己都承認寫錯了,不過有的"填鴨高手"真的很厲害,答題時,可以先矯正題目的錯誤,再給予答案,還真的讓人佩服!

連一個可攜性都會講成相容性!又是教授、博士的,我知道啦!都是你這個高手頒給他們的!

像你這種高手,堅持inline asm只能用在386以上,被人家點破,才去msdn找答案,原來286也可以,才轉彎說什麼當初指限定在386是根據暫存器,真是好一個高手!

2009-04-09 14:27:40 補充:
初始交代不清,中途自己發現錯誤轉彎,事後狡賴,別人不與之計較,如今還喋喋不休!現在又來說別人玩文字遊戲!

到現在還來死纏濫打,心眼之小,這樣的人不就屬於事後狡賴的垃圾嗎?只有自己站不住腳,又沒有自信的人,才會在發言中抬出什麼天堂博士、地獄教授來掩飾自己的心虛!

2009-04-09 14:51:06 補充:
多虧你去貼出來,你這不就是表明 inline asm只限定在386以上嗎?還想狡賴,如果不是狡賴一開始就該解釋清楚,中間又用什麼相容性胡攪蠻纏,結果是到後面才發現自己還有個文字遊戲可做困獸之鬥,但是被人發現快撐不住了,才送一個臺階給你喘口氣,現在有精神了是不是?

後來又覺得自己心虛,再補了一些什麼性學博士、牛郎教授給自己充面子!你在充心安的嗎?

2009-04-09 19:16:01 補充:
既然你知道與版大無關,那你來這裡發什麼屁論,你的第一篇,心術就已不正,現在居然大言不慚,說什麼與版大無關,你要不要臉啊!是不是發現臺階慢慢縮小了!

你又對在哪裡?如果你認為對的,會一直對我糾纏不清嗎?會因為心虛拉一些什麼分腿博士、開通教授來充場面嗎?

2009-04-09 19:39:46 補充:
我本來就沒有要想怎樣,是你一直纏著我,現在居然要我想想,你還真的是不要臉的標準!

你以為用個","就可以狡賴阿,那天是看在某個人的面子上,不想理你!如果是我屈解,怎麼可能辯到結尾,你快下不了臺的時後,再往回拉!

而且誰想和你辯,是你來找我辯的!從這裡就可以看出你是個耍賴的人了。

2009-04-09 19:42:49 補充:
我什麼時候暗示了!你大概病急亂投醫吧!會不會一個女生看你一眼,你就急著將全身脫光?

2009-04-09 19:43:49 補充:
你是到該滾的時候了!

2009-04-10 07:52:12 補充:
你現在不是一直在爭嗎?人家已經不想理你了,你還跑回來捏著雞子死槓!

對了!你不是要滾了嗎?怎麼還面對著我!就使出你最厲害的那招"屁股向後,平沙落燕式"!對!屁股翹高一點,給你一腳,去吧!

2009-04-10 08:02:46 補充:
對了!在你平沙落燕飛出去之前,告訴你一件事,你說過那麼多的屁話後,已經有矛盾現象出現了!

現在就在你的屁股上留下一個腳印,去!
2009-04-10 4:27 pm
不到北京,不知官小;
不到上海,不知錢少;
不到海南島,不知身體不好;
不到啞唬滋事家,才知嘴砲少不了.

以為逛到[政黨政治]區,[程式]區也砲聲隆隆.

[屁屁]發問
>>.....
>>回答詳細明瞭 ~ 小弟會快速給點唷 ^^"

搞的他心裡撲通撲通的,不知道要不要結版.
結版.....保證被罵.
不結版.....還是繼續罵.

都是唸過書的人,我始終認為老天爺讓我們有機會唸書,就是為了讓我們懂做人的道理.

啞唬姿式佳的平均詢問水準都不高,各位高手犯不著為了一些概念.扯腸剖肚的,這應該不是聖人教導我們該做的事.


我將於茫茫電腦中,寫我為會寫的程式,寫對我幸,有蟲我命.如此而已.
2009-04-09 7:04 pm
要看對人的! 看錯人的就慘了!

尤其是那些被眾高手指出錯誤/不良還不知道/不承認的!
不知是真的遜到這種地步,還是存心誤人子弟。

這裡有不少這樣的人。
有心學好的人請自行多小心。

2009-04-09 13:10:31 補充:
http://tw.knowledge.yahoo.com/question/question?qid=1609031506311
說別人屈解題意,結果發問者出來澄清:別人的才對!


http://tw.knowledge.yahoo.com/question/question?qid=1009040503540
他完全屈解問題,
把發問者接近全對的,改成全錯的!


只要加個小東西,可以少一大堆的碼,並增加執行速度
http://tw.knowledge.yahoo.com/question/question?qid=1509040701066

2009-04-09 13:11:12 補充:
以及可讀性!




http://tw.knowledge.yahoo.com/question/question?qid=1609032005189
連 286 沒有 EAX,被指出了還要再搞半天才知道!
對,柏克來大學資工博士、加州州立大學正教授是垃圾!(意見 049)
台北 及 台灣 比賽第一名的,也都是垃圾!
只有他是高手!
他是宇宙比賽第一名,並任台灣/台北比賽的評審!



記得向他學就好!
學出上列笑話,別說 Jacob 坐視他人受誤導!

2009-04-09 13:56:24 補充:
還要再完文字遊戲嗎?
原來是只會玩文字遊戲!

而且,是低級的段章取義的方法!

2009-04-09 14:35:59 補充:
誰亂搞來著?

= = = =
那是
 inline asm,
 限用在 intel 386以上 相容的 CPU
所以,還是不對
= = = =

眼睛瞎了,沒看到那裡有〝,〞?

誰該發現自己錯了?

2009-04-09 17:03:28 補充:
版大,抱歉。

只是這位回答者真的錯誤百出,
你最好另找高手幫你 check 看看他這次有沒有又放砲。
我沒興趣幫他 check。

但,我列舉他那麼多次的錯誤,他只能拿這題在文字上做文章,
硬要和我拗,沒辦法。

版大與以後要學這題的網友請自己多小心。


小玉,
這問題與版大要問的無關,不要在這裡吵!
要,回那題去!

只是,我希望你 捫心自問:
 你那題倒底錯了沒?
 其它題呢?

與其與一位三流笨蛋 Jacob 在這裡吵;
不如你好好充實自己比較實在!

硬要把那明明錯的爭成對的,你就進步了?
想想你其它那幾題怎麼錯的?
趕快改過,比較實在!

2009-04-09 19:30:52 補充:
你自己想想:
〝就算〞你是對的,又能怎樣?
 能改變你那程式不能在 286 跑的事實?
 能改變 C 可用不同的 compiler 到別的 OS, CPU 上跑
    ASM 不行
  的事實!
勝負/對錯早已分明,還要爭什麼爭?
誰的台階變小了?

而且,我在那篇就已明講:那裡有〝,〞,有 indent,有主詞等東東,
證明是你屈解!
還要強辯?

清者自清,你怎不強辯你其它的錯誤?

第三次奉勸你:時間省下來,好好練功讀書,早日成為有用的高手!
不要只能屈解別人的文字,卻仍不能洗清你已 post 出來嚴重錯誤的程式!

2009-04-09 19:36:45 補充:
而且,倒底是誰懂誰不懂,再去看一下那題的意見:
= = = =
005 寫著:
你再看一下你寫的組語,
286 能跑?

如果能,算我寫錯!
如果不能,那你是不是火氣太大了點?
= = = =
006 你回應:
拜託
你是真會還是假會
這段程式碼
為什麼不能在286執行
為什麼可以在386以上執行
差別在哪裡

版主可能還在用286電腦嗎

當你寫出
你再看一下你寫的組語,
286 能跑?
就知道你根本不懂
= = = =

2009-04-09 19:38:31 補充:
到 013 你才暗示你發現你的程式在 286 好像真的不能跑;
到 017 你才正式承認:它在 286 不能跑!

〝就算〞你說的對:意見 002 真的表示我不懂,
能改變你的程式不能在 286 跑、不能換 compiler 就去 mac 跑的事實?
何況:
 002 本身就不是你屈解的那意思!
 005 明寫:286不能跑,表明 002 不是你看的意思!
 008 再次表明
還要再辯什麼?


不要再做沒意義的爭辯!好好 K 書練功,早點成為真高手!

2009-04-09 19:41:49 補充:
我要把時間省下來去
 充實我自己
 幫助真的想學的網友

你自己好好想想:
 我說的你的程式有錯的部份,到底有沒有錯?怎麼改進?
而不是在這裡做無謂的口水戰!



Jacob, 你行行好!
這裡沒有人流口水!

2009-04-10 07:10:24 補充:
對於你多次說我後來才去 MSDN 惡補一事,
我的確沒有去 MSDN,也沒上 Google、Wikipedia;
但沒辦法提出證據,不和你多說。
唯一〝可能〞是證據的,是
MSDN 極少對 286 著墨,很可能沒提到 286 沒有 EAX
(我沒去查MSDN到底有沒有寫,可能有,我不知道。)

286 一事,我的確找過救兵!
但不是網路,而是書和人!
那是到了意見 008 時,我才找書找人的!
我在 意見 002、005,都沒有!
只憑印象,和對電腦的了解!

2009-04-10 07:10:50 補充:
為了不要用錯誤的印象和你爭執,
我去找了書!
又怕找漏了,才問了某
 有用 iApx ASM 賺錢、
 20年程式經驗、
 程式年薪百萬
的高手,
確定無誤後,才再發意見 008 的。
(那人在那題沒有出現)

你有像這樣仔細審查自己的回答/意見,
再和人爭執嗎?
沒!
那題的意見 006 等告訴大家:
 你只會不斷自以為是地和人硬爭!

= = = = =

2009-04-10 07:11:13 補充:
但對於你說我說錯、事後才找台階下一事,
抱歉,證據很多,請你不要
 無視證據,
 只管耍賴!

除了之前說的:
 有逗點、
 有 indent、
 沒主詞
等,
多看過我回答、意見的網友,
誰不知道我是一句一列?
而不是一句接一句一直寫?

這樣的排版法,我是被人罵過的!
但我自知中文不好,
為了清楚表達,
我仍是一句一列。

你可以去看看我這近三年來的意見與回答,
是不是都是一句一列?

還要硬掰我是事後才發現寫錯嗎?

2009-04-10 07:13:08 補充:
= = = =

不要再模糊焦點、惡言相向!
對你沒有任何的好處!
問題的根本在於你的程式真的是錯了,不是嗎?
而不是
 我用什麼方法硬說你錯
也不是
 我是事後才找到你錯在哪,為我自己找台階下
爭這些,對你的幫助在哪裡?
就算是我事後才找到的,因此你的程式就是對的了?


好好冷靜地想想我說的到底是對是錯,
不管是
 程式內容、
 與人爭執時應有的態度與方法

多學點,早點成為
 有用的真正程式高手!
 不會盲目與人硬爭、卻不斷曝露自己的無知而不自知的人!
2009-04-09 5:35 pm
學電腦語言沒什麼好方法
努力練習. 看別人寫的. 不斷的嘗試. 只有此途徑


收錄日期: 2021-04-20 22:59:17
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20090409000010KK01005

檢視 Wayback Machine 備份