C語言中的小細節

2021-08-22 12:38:48 字數 494 閱讀 7192

1.位溢位

int和long現在都是4個位元組,不過現在的c裡面都沒給出乙個越界溢位的api函式,得自己注意 a = 0xffffffff,b = 0xffffffff 然後 a+b,或者a×b都會溢位,但是這樣的一處float和double都會遇到

在asm裡面會用jo和jno來判斷溢位標誌位

2.unsinged int(long)和 singed int(long) a = 0xffffffff 右移位

while((a=a>>1)) printf("0x%x/n");

singed int(long)的時候就會死迴圈

這個是移位機制裡面的問題,反彙編可以看到乙個是用的sha另乙個是shr。

3.乙個字串的反轉

who are you --> uwho are yo->ouwho are y->youwho are ->you who are ->you ewho ar->you rewho a->you arewho->you are who

C語言中細節知識整理

puts a 輸出字串 a的定義為 char a 10 gets a a的定義同上,輸入字串,類似於scanf strcat str1,srt2 連線字串的功能 把str2接在str1後面 strcpy str1,str2 把字串str2賦給str1 strncpy str1,str2,n 把str...

C語言while的小細節

最近幾天在看 cpr imer plus c primer plus cprime rplu s 的第五章 運算子 表示式和語句,看到思考題第八題的時候,發現了乙個以前可能會忽略的點。題目如下 下面的程式將列印出什麼內容?problem include intmain return0 很顯然,列印1...

C語言小細節(三)

第一種 int a int p a 在初始化時另p指向int a的 p 1 第二種 int a int p 先定義乙個指標p p a 再另其指向a p 1 int arr 6 int pa arr 初始化指標pa指向陣列arr 6 的第乙個元素 int pb 初始化指標pb pb arr 令其指向a...