請高手指點c語言中的小問題

時間 2022-11-26 01:10:51

1樓:

void main()

printf("there is %d words in the line.\n",num);}

2樓:江湖三腳貓

不說程式寫的怎麼樣,只解釋

#include

void main()

//單詞數num自加1,等價於num=num+1;

printf("there is %d words in the line.\n",num);}

3樓:匿名使用者

word=0表示那個字元為空格,word=1表示那個字元不是空格。

然後迴圈判斷,word從1變為0時num加一,表示有乙個「連續字串」即「單詞」。

for(i=0;(c=string[i])!='\0';i++)的解釋條件就是「\0」。

4樓:

if(c==' ') word=0;

else if(word==0)

這段的意思是:

word是乙個開關,每次看到空格,word就置0;這樣走到下乙個字元(不是空格)的時候,因為word為0,所以我們就發現了乙個單詞,並把word置1。

這樣實際上,word是1的時候,程式是走在某乙個單詞裡面的,word是0的時候,程式就走在空格上,空格前後word值都是1。

5樓:

倒數第二行,c已經被賦值為字元陣列中的某乙個值,如果它是空格的話,word被賦值為0;

否者如果c不是空格,且word 為0;那麼單詞數加1,,且將word賦值為1,這樣可以得出,,如果輸入的都是空格,,顯然單詞數為num = 0;一旦在空格後有了字元那麼由於此時word = 0;且c不為空格,單詞數加1,且word = 1;這時候如果後面的字元是空格,word =0 ,回到剛開始討論,如果是字元,那麼if 和 else if都不滿足,繼續迴圈,,一旦碰到空格 ,又回到剛開始討論。

總結:只有碰到單詞的第乙個字元num 才加1,,這樣就可以的道word的個數了!

請c 高手指點 程式執行不了!!!

建議樓主這樣改寫 include include using namespace std int main cout please enter some numbers for ivec2 while ival 1 if cout the two vectors aren t equal iter1...

c語言7求a中最大s指向該元素請高手指點下謝謝

第乙個,改成 include main int a 10 p,s printf 請輸入10個整數 for int i 0 i 10 i scanf d a i s a 0 for i 0 i 10 i p a i if s p s p printf 最大的數是 d n s 第二個 include m...

C語言求指點,C語言中很基礎的問題,求C語言大俠指點!!

a i 0 將 字元換成了 0 也就是說字串中沒有 字元 你後面for i 0 a i i 中的a i 根本不能成立。for迴圈會一直執行,直到偶爾在記憶體中碰到乙個 字元。陣列的大小只有100,超過100就越界了,所以會出現錯誤。因為你已經在a i 0 中把a i 賦 0 了 但是你在for迴圈中...

求高手指點C語言程式設計,具體問題要求如下

如果到晚上還沒人寫我就幫你寫 c語言程式設計,求5個學生5門課的平均成績,求高手指點,謝謝,萬分感激 兩層for迴圈的執行順序 其實對於兩層for迴圈,可以拆成多個一層的for迴圈。如上就可以拆成如下的for迴圈 for j 0 j 5 j sum sum s 0 j s 0 5 sum 5 for...

想學C語言可是什麼都不懂高手指點下

我是想說你可以找一本基礎的書自己開始學 也很快的 我也是最近兩周開始看的。以上是我學習的書目資料 其中微控制器的最簡單 指標的感覺最難 這位朋友你好!x是先改變本身值再參加運算,x 是運算完後再改變自身,正如上面的例子 eg x 4 b x 5 x先運算 就是5 然後在加5,就是10了 b的值就是1...