」 「的副作用讓人討厭

2021-05-23 00:49:12 字數 775 閱讀 5043

今天寫一函式來實現字串反轉

#include

using namespace std;

void reverse_string(char* string)

char* p = string;

char* q = null;

while (*p++!='/0');

q = p-1;//q at after end; 

p = string;//p return ;

while (p < q)

char ch = *p;

*p = *q;

*q = ch;

++p;

--q;

void main()

char* p = "hello,world";

reverse_string(p);

cout<

存在兩個問題:

1,「hello,world」是字串常量,不可以修改,編譯器將這個literal放在全域性/靜態區。呼叫反轉函式涉及修改,不會通過

2,「++」的***

while(*p++!='/0');

這裡迴圈結束後,p指向的位置是哪個呢?字元d後面的位置?

--不是,是在d後面兩個位置。當第一次p指向d後面的位置時候,判斷與0不等後,麻煩事情來了--p又自增一次!

所以本來打算僅僅判斷即可,但是++***來了!

所以我覺得自己最好避開這種判斷形式 - -!

簡單修改下

while (*p!='/0')

++p;

transform 的副作用

transform 想必大家都很熟悉,可以通過其轉換 translate 旋轉 rotate 縮放 scale 傾斜 skew 等屬性來對元素進行變換,不過這篇文章想 的不是這些內容,而是 transform 對元素布局 頁面渲染方面的影響。例如,你知道它會影響 fixed 元素的位置嗎?你有想過它...

巨集的副作用

巨集定義在實際使用中如果不稍加注意,如果表示式有 就可能導致返回的結果跟預期不符。下面是幾種常見的問題 define multi a,b a b multi 1 2,3 1 2 3 define add a,b a b int c add 1,2 3 1 2 3因此巨集的引數和返回值最好是用 擴起來...

卡波姆對面板的作用副作用 杏仁酸的副作用

杏仁酸的使用效果相對溫和,使用的時候可以從低濃度開始使用。但是在使用的時候,如果做不好防曬,可能會出現反黑的情況。而且杏仁酸使用之後,還會乾燥緊繃,所以在使用的時候,要做好日常的保濕。在使用杏仁酸之前,一定要先做好 測試,確定 不會出現敏感,然後再繼續使用。如果使用杏仁酸之後,出現了敏感情況,一定要...