程式設計小白C語言題目練習4

2021-10-06 21:35:30 字數 702 閱讀 7047

若有以下定義和語句

:char  *s1="12345",*s2="1234";

printf("%d\n",strlen(strcpy(s1,s2)));

則輸出結果是

strcpy是一種

c語言的標準庫函式,strcpy把含有

'\0'

結束符的字串複製到另乙個

位址空間

,返回值的型別為char*。

strlen所作的是乙個計數器的工作,它從記憶體的某個位置(可以是字串開頭,中間某個位置,甚至是某個不確定的記憶體區域)開始掃瞄,直到碰到第乙個字串結束符'\0'為止,然後返回計數器值(長度不包含'\0')。

翻譯文字strcpy(s1,s2)將字串"1234"全部複製到s1中,將原來的內容覆蓋。s1中的12345分別被1234\0取代。故最終計算得出答案為4。

注意,如果要用**執行,這樣寫是不行的!

char  *s1="12345",*s2="1234";c語言中對於字元指標,這樣賦值是錯誤的,如果定義為字元陣列的話應該這麼寫

char s1[6]=,s2[5]=

#include #include int main()

和咱們前面分析的一樣,輸出結果為 4

程式設計小白C語言題目練習20

c語言中整數 8在記憶體中儲存形式是?簡單來說,資料在計算機中是以其補碼形式儲存和運算的。8在記憶體中的儲存形式就是求 8的補碼 所以 我們得知道原始碼,補碼和反碼之間的關係 原碼 用最高位表示符號位,其餘位表示數值位的編碼稱為原碼。其中,正數的符號位為 0,負數的符號位為 1。正數的原碼 反碼 補...

程式設計小白C語言題目練習23

設 int b 2 表示式 b 2 b 1 的值是 這個 的叫左移運算子,這個 是右移運算子 左移運算子將乙個數的各二進位制位全部左移若干位,移動的位數由右運算元指定,右運算元必須是非負值,其右邊空出的位用0填補,高位左移溢位則捨棄該高位。左移一位相當於該數乘以2,左移2位相當於該數乘以2 2 4。...

C語言練習好題目

1.求sn a aa aaa aaaa aaaaa的前5項之和,其中a是乙個數字 例如 2 22 222 2222 22222 int main printf sum d sum return0 2.求出0 100000之間的所有 水仙花數 並輸出。也叫自冪數 水仙花數 是指乙個n位數,其各位數字的...