我就遇到了這個庫中的編譯器:*在C中做什麼符號?
register char *bufptr;
register int neg = val < 0;
register long uval = val;
*(bufptr = &tempc[BUFLEN - 1]) = 0;
do {*--bufptr = abs(uval % 10) + '0';} while(uval /= 10);
什麼是「* - 」,其實呢?我試圖尋找,但它沒有包含在我能找到的C參考文獻中,搜索引擎不太喜歡「* - 」。
這是兩個運算符 - 把'* - bufptr'想成'*(--bufptr)'。 –
指針解除引用(*)和預先遞減( - ) – byxor
這是「醜陋」代碼的一個示例。 – haccks