-
strlen() 用於查詢字串的長度,遇到'\0'時間結束了。 也就是說,從頭到尾'\0'長度。
而你在這裡用來求陣列長度的,也將從'a','b'開始計數,直到'\0'結束,然後是記憶體內容。
它不能通過陣列反映。 所以會有不確定的結果。
-
對於陣列,例如:
char a[2] = ;
應使用 SizeOf 來獲取其大小。
對於字串,例如:
string s = "ab";
應該使用 strlen 來獲得它的長度。
strlen 是直到遇到'\0'歸根結底,我得到了 11,這與你的不同,因為陣列後面的內容根本沒有確定,所以你不能使用 strlen 來獲取陣列的大小。
-
當 和 在兩個數字的中間時,and 運算子不是邏輯和運算子,而是按位和運算子,因此 5 和 -7 被二進位替換為 0000000000000101(2) 和 1111111111111001(2) 按位,運算為 0000000000000001(2)=1(10),5 和 -10 是 0000000000000101(2) 和 0000000000000110(2) 按位,算術給出 0000000000000100(2)=4(10), -5 和 -7 是 1111111111111011(2) 和 1111111111111001(2) 位,因此 1111111111111001(2)=-7(10)。
-
陣列 a 的內部元素是乙個字元,而不是字串,並且字元後面沒有 0 結尾。 strlen 是字串的長度,length 是從字串的第乙個位址到儲存內容 0 結束的空間位元組的長度,顯然從 A 的第乙個位址到儲存內容 0 的位址長度為 7。 這種求陣列 a 儲存空間長度的方法不合適,應該使用 sizeof() 函式。
-
您沒有找到 null 或'\0'C 樣式的字串以它們結尾,如果它們沒有它們,strlen() 會搜尋記憶體直到找到它們,然後將區域的長度作為返回值。 這就是為什麼 7 在那裡(完全有可能是別的東西)。
-
兄弟倆是對的,它的值是不確定的,我在VC上試了一下,之前定義乙個變數的時候,值就變了。
-
此值不確定,strlen 為'\0'結束,你沒有那個陣列'\0',所以他在記憶中相遇'\0'在一天結束時,你在頂部定義了幾個變數,他的工廠又發生了變化。
-
變數 a b 的值分別為 12 5
2d 表示 2 位為空,即讀取 34 位,不操作。
-
精度超出了浮點範圍,所以肯定是不對的,浮點精度範圍太小,精度範圍內的誤差也很大。
將其更改為雙倍是沒有問題的。
-
工作原理:“輸出A的計算結果進行包裝,再輸出B的計算結果進行包裝”,其原理是:
float a,b;定義單精度浮點型別 a 和 ba=; 賦值給 ,即 525265178900b=a+20; 將值分配給 b 將 20printf ( 新增到值 a"%f",a);標準庫中的列印(輸出)函式在程式中顯示值或字元,首先顯示 a 的值,然後輸出換行符(相當於回車符)。
printf("%f",b);該函式在第二行顯示 b 的值,然後輸出換行符。
因此,最終結果將顯示在程式中:
-
在這裡,小鎮是自我分裂的,粗獷的旅團是盲目的尋找它。
-
小提琴樂譜找到了.........
另外 1L 的破壞是我的空間
裡面沒有滲水
您不必尋找它,只需留下您的郵箱即可
以上系列日曆
-
sum=(+i)+(i)+(i)
執行順序是 sum=((i)+(i))+i),因為它是雙目操作。
執行第乙個 ++i 後,i=1,執行第二個 ++i 後,執行 i=2,sum=(i+i)+(i)=(2+2)+(i)=2+2+3=7
-
與編譯器有關,我的是 9
-
你用Microsoft Visual C++試試,我覺得如果算的話,應該不等於7,先加(+i)再用,三(++i)後面的值是:1、2、3結果應為 6。
它主要是由花粉不均勻引起的。 樟樹的短枝很多,連續結果的能力很強,只要樹正常,每年都會大量開花。 但是,如果花量太大,負荷太重,樹也會呈現出養分過剩,也會呈現出低果的景象。 >>>More