我正在製作一個程序,根據第二個參數的值將值左移或右移。如果是肯定的,則它向左移動,否則向右移動。 N是向左或向右移動的次數。我在執行我的宏時遇到了麻煩。在C中使用宏的預處理器語句
#include <stdio.h>
#define SHIFT(value, n)
#if (n) > 0
(unsigned int value) <<= (int n);
#else
((unsigned int value)) >>= (int -n);
int main()
{
printf("%d\n", SHIFT(1, 4));
}
目前我得到一個條件指令錯誤。
嘗試'#定義SHIFT(值,n)\'。最後一個反斜槓表示下一行是當前行的一部分。 –