c語言不使用中間變量交換兩個數

1. a^=b^=a^=b;

2. a = a + b; b = a - b; a = a - b;

網上聽說有人在gcc下不使用編譯優化的情況下第一種方法不起作用,特意嘗試了下,結果是正確的。

windows:

visual studio 2005:通過

linux:

gcc 4.6.3 :通過


strtok函數,用於分割字符串,第一次調用使用被分割字符串,後面使用null,指導返回null。另一個是strtok_r函數,功能類似。c89, c99支持,posix支持。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章