1樓:
首先 if(word=0) else if(word=1) 應該 改成==
其次 你設定的條件是 單詞在陣列中用' '間隔,當遇到' '時你的**num自加。
個人建議 :將條件改成isspace函式。這樣不受輸入的限制,比如製表符等。這樣只要計算空白個數就可以了。應該優化不少。
至於如何一步一步的檢查,最開始學的時候最好別依賴編譯器。自己一行行看**,計算執**況這樣的基本功。
當然,也可以使用編譯器。我用的是vc++,本身自帶除錯功能,可以設定斷點檢視執**況、檢視執行出錯位置等。
囉嗦了,希望對你能有點幫助。
2樓:
if(word=0) /應該是== 即word==0 下面那個也是。
word=1;
num=num+1;
3樓:翟識庹昊乾
首先。if(word=0)
elseif(word=1)
應該。改成==
其次。你設定的條件是。
單詞在陣列中用'
間隔,當遇到'
時你的**num自加。
個人建議。將條件改成isspace函式。這樣不受輸入的限制,比如製表符等。這樣只要計算空白個數就可以了。應該優化不少。
至於如何一步一步的檢查,最開始學的時候敗坦最好別依賴編譯器。自己一行行槐賀看**,計算執**況這樣的基本功。
當然,也可以使用編譯器。我用的是vc++,本身自帶除錯功能,可以設定斷點檢視執**況、檢視執行出察明桐錯位置等。
囉嗦了,希望對你能有點幫助。
c語言字元陣列計算單詞個數
4樓:阿四哥
c語言字串的學習,輸入指定字串,並且計算字串的位數。
c語言問題,怎麼把查詢一字元陣列裡單詞個數?單詞使用者輸入
5樓:網友
定義乙個陣列變數儲存使用者輸入的單詞,再在字串陣列迴圈比較是否與輸入的單詞相同,相同了再條件判斷一下單詞前後是不是空格或是標點就可以了。
6樓:網友
直接判斷空格和標點符號的數量, 連續的算乙個。
c語言問題,陣列問題,如何統計陣列中有效資料的個數
7樓:匿名使用者
可以在接收資料前用非資料中值填充陣列。
如果沒有0就可以像你說的這樣處理。
c語言,統計乙個字串有多少單詞的問題
8樓:
問題不在改為1000就肯定能好,問題的癥結在num沒有賦初值為0。把int i,num,k=0;改為int i,num=0,k=0;就可以了。你改為1000後會正常的原因是碰巧的:
那就是分配記憶體時把變數num擠到一內容為0的單元那裡了;把char string[100];、int i,num,k=0;兩行的次序換一下,也許改1000也就不靈了;當然,換臺機器改1000也可能就不靈了。
9樓:網友
第一gets貌似會把回車符也儲存在string中。
第二num沒初始化。
第三迴圈的邏輯是隻要空格後的字元不是結尾符則認為發現了乙個單詞。
10樓:是個櫻桃丸子
跟字串大小無關,其他地方的錯誤導致。
11樓:網友
你寫法很奇怪啊!你這個根本不能實現功能好嗎?來讓我給你改改#include
int main()
printf("這句話有%d個單詞",num);
return 0;
c語言陣列輸出個數問題,一個c語言陣列輸出個數問題
池綠柳穆丙 樓上的說的很好,只是有點錯誤 定義到main函式之外為全域性變數,並不是存放在堆區,而是放在全域性區。一個由c c 編譯的程式佔用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器 compiler 自動分配釋放,存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。...
C語言,字串陣列的輸出,C語言 如何定義字串陣列
自我程式設計 getch 這句多餘,只是列印而已不需要這個函式接收字元。printf s n ch 0 printf s n ch 1 printf s n ch 2 這3句列印,第2個傳參和printf函式形參型別不一致,函式需要的是char 而你給的是char 12 執行可以,但會有警告。你想要...
C語言問題。定義二維陣列,C語言問題。定義一個二維陣列
ok洛陽水席 include int main sum 0 for i 0 i 5 i return 0 樓主基本沒有大錯誤,只是不夠仔細,用來儲存特定值的變數使用前一定要初始化,如本例中的最大值,最小值,下標,都是必須初始化的!整型與整型運算會得到整型,1 2 0,5 4 1 系統會捨去小數部分。...