跪求c語言高手

時間 2022-07-11 23:00:11

1樓:匿名使用者

第一 str不是首地址 為什麼可以進行自加答:str是指向首址的指標,

第二為什麼要str[1]='\0'呢。。。。

答:字串是以數字0為結束。

如果不同 將其插在串的最後

,那 這個程式的if判斷有誤。

2樓:僪巧苼

初看函式,想實現的是在字元陣列str中查詢字元ch,查詢到了則將ch設為字元陣列的截止字元。

char string[10] = "hello,world!";

char ch = 'w';

操作後printf("%s\n", str)輸出為hello,w

看**:

while (*str&&*str!=ch)

迴圈退出要麼是尋遍str(假若字元陣列最後字元為'\0'的話,中途某個字元為'\0'的話則中途退出)退出,要麼是中途找到ch退出.

後面的*str==ch則是判斷退出是上述兩種中的哪種,若是後一種則進行上述操作,若是前一種什麼也不做。

兩個問題 第一 str不是首地址 為什麼可以進行自加 不是首地址的值是不變的嗎

str不是首地址》str是陣列的首地址

為什麼可以進行自加 不是首地址的值是不變的嗎》這個陣列名是作為形參變數的,不是常量當然可以自加,而char string[5] = ; string++; 這裡的string++是非法的,因為string是常量。

第二 後面的那個if程式表示不同 如果不相同 str所指的也不一定是最後一個字元啊 而且 為什麼要str[1]='\0'呢

後面的那個if程式表示不同 如果不相同 str所指的也不一定是最後一個字元啊 >>>程式能執行到if(*str==ch) 這個判斷表示陣列中找到ch,而str[0]=ch; str[1]='\0'這裡的str[0],str[1]不是原陣列的第一個第二個元素,而是ch在str中的那個ch和它後面的字元

而且 為什麼要str[1]='\0'呢》字串操作時以'\0'為結束字元的,printf列印字串是以這個作為列印截止點的。

跪求C語言高手解答,跪求高手解答

queuecque 佇列 定義了一個物件 char 型別的 cque cin c 類似於c的scanf 從標準輸入讀取一個資料寫入c cque.push c cque是模板佇列類的一個物件,呼叫他的push函式將c插入佇列中 cout cque.front endl 表示輸出佇列前面的一個資料 cq...

c語言我是C語言菜鳥,跪求高手幫忙找找這個程式的錯誤

include int max int x,int y 函式原型最好放在這裡即include之後,main之前 void main int max int x,int y 這裡是不能加分號的,因為下面還有語句啊。譚浩強的c語言書不錯,綠色封面的。你可以看看!scanf d,d,d a,b,c int...

跪求C語言高手解釋思路和程序謝謝了

include int main 傻瓜辦法 將四位數分化成4個變數,每個變數存一位數 蠻簡單的啊,就是求個和,然後 再賦值麼,交換的話再引入新的變數來幫助交換 你說的不是很清楚,但是可以肯定這個程式寫起來不難!用到迴圈語句和一些基本的語句就可以了 思路 先把 數 x 的每一位分別存入陣列w 10 中...