C語言問題

時間 2022-03-08 15:35:05

1樓:薌城山

樓主你好!

!fstr[j]為真時 指的是當 j 遍歷完了字串"the"(此時fstr[j]為'\0')

分析如下:

當!fstr[j]為真時。fstr[j]必為假 。

我們知道上面**中fstr[j]代表一個字元(字元也可以用整數表示),要想fstr[j]為假。fstr[j]要為0(用整數表示的)即'\0'(用字元表示的)注意整數0可以表示字元'\0'即空(不是空格)而我們知道字串"the"是有四個字元的(末尾自動加上'\0')。其實 while (str[i]!

='\0') 也可以寫成 while (str[i])。

如果有機會執行到語句break;說明if (str[j+i]!=fstr[j])中的條件為真,表明str[j]不是'\0'.而是t,h,e中的一個,而str[j+i]!

=fstr[j]說明在str中沒有找到"the"的子字串,又str[j]不為'\0',所以不會執行n++(n是用來計算有多少個the 的)。

2樓:

int find(char *str)

return n;

}結論:if (!fstr[j])等價於if (fstr[j]=='\0')。

C語言問題,C語言問題C語言問題

選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...

C語言問題,C語言問題

include void main 最後輸出 1 2 2 3 cca 2,b 2,c 4 2.設計一個程式 計算0xaf 01234567,字元 a 的ascii碼值 十進位制 是多少,101 代表的字元是什麼,32678 1的準確結果是多少,1.456e6 35的準確結果是多少,12345 6的準...

C語言問題,C語言問題

符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...