C语言位运算 C语言的逻辑运算和按位运算怎么区分?

C\u8bed\u8a00\u4f4d\u8fd0\u7b97

\u4e00\u3001\u4f4d\u8fd0\u7b97\u7b26C\u8bed\u8a00\u63d0\u4f9b\u4e86\u516d\u79cd\u4f4d\u8fd0\u7b97\u7b26\uff1a
& \u6309\u4f4d\u4e0e
| \u6309\u4f4d\u6216
^ \u6309\u4f4d\u5f02\u6216
~ \u53d6\u53cd
<< \u5de6\u79fb
>> \u53f3\u79fb

1. \u6309\u4f4d\u4e0e\u8fd0\u7b97 \u6309\u4f4d\u4e0e\u8fd0\u7b97\u7b26"&"\u662f\u53cc\u76ee\u8fd0\u7b97\u7b26\u3002\u5176\u529f\u80fd\u662f\u53c2\u4e0e\u8fd0\u7b97\u7684\u4e24\u6570\u5404\u5bf9\u5e94\u7684\u4e8c\u8fdb\u4f4d\u76f8\u4e0e\u3002\u53ea\u6709\u5bf9\u5e94\u7684\u4e24\u4e2a\u4e8c\u8fdb\u4f4d\u5747\u4e3a1\u65f6\uff0c\u7ed3\u679c\u4f4d\u624d\u4e3a1 \uff0c\u5426\u5219\u4e3a0\u3002\u53c2\u4e0e\u8fd0\u7b97\u7684\u6570\u4ee5\u8865\u7801\u65b9\u5f0f\u51fa\u73b0\u3002
\u4f8b\u5982\uff1a9&5\u53ef\u5199\u7b97\u5f0f\u5982\u4e0b\uff1a 00001001 (9\u7684\u4e8c\u8fdb\u5236\u8865\u7801)&00000101 (5\u7684\u4e8c\u8fdb\u5236\u8865\u7801) 00000001 (1\u7684\u4e8c\u8fdb\u5236\u8865\u7801)\u53ef\u89c19&5=1\u3002

\u6309\u4f4d\u4e0e\u8fd0\u7b97\u901a\u5e38\u7528\u6765\u5bf9\u67d0\u4e9b\u4f4d\u6e050\u6216\u4fdd\u7559\u67d0\u4e9b\u4f4d\u3002\u4f8b\u5982\u628aa \u7684\u9ad8\u516b\u4f4d\u6e05 0 \uff0c \u4fdd\u7559\u4f4e\u516b\u4f4d\uff0c \u53ef\u4f5c a&255 \u8fd0\u7b97 ( 255 \u7684\u4e8c\u8fdb\u5236\u6570\u4e3a0000000011111111)\u3002
main(){
int a=9,b=5,c;
c=a&b;
printf("a=%d\nb=%d\nc=%d\n",a,b,c);
}

2. \u6309\u4f4d\u6216\u8fd0\u7b97 \u6309\u4f4d\u6216\u8fd0\u7b97\u7b26\u201c|\u201d\u662f\u53cc\u76ee\u8fd0\u7b97\u7b26\u3002\u5176\u529f\u80fd\u662f\u53c2\u4e0e\u8fd0\u7b97\u7684\u4e24\u6570\u5404\u5bf9\u5e94\u7684\u4e8c\u8fdb\u4f4d\u76f8\u6216\u3002\u53ea\u8981\u5bf9\u5e94\u7684\u4e8c\u4e2a\u4e8c\u8fdb\u4f4d\u6709\u4e00\u4e2a\u4e3a1\u65f6\uff0c\u7ed3\u679c\u4f4d\u5c31\u4e3a1\u3002\u53c2\u4e0e\u8fd0\u7b97\u7684\u4e24\u4e2a\u6570\u5747\u4ee5\u8865\u7801\u51fa\u73b0\u3002
\u4f8b\u5982\uff1a9|5\u53ef\u5199\u7b97\u5f0f\u5982\u4e0b\uff1a 00001001|00000101
00001101 (\u5341\u8fdb\u5236\u4e3a13)\u53ef\u89c19|5=13
main(){
int a=9,b=5,c;
c=a|b;
printf("a=%d\nb=%d\nc=%d\n",a,b,c);
}

3. \u6309\u4f4d\u5f02\u6216\u8fd0\u7b97 \u6309\u4f4d\u5f02\u6216\u8fd0\u7b97\u7b26\u201c^\u201d\u662f\u53cc\u76ee\u8fd0\u7b97\u7b26\u3002\u5176\u529f\u80fd\u662f\u53c2\u4e0e\u8fd0\u7b97\u7684\u4e24\u6570\u5404\u5bf9\u5e94\u7684\u4e8c\u8fdb\u4f4d\u76f8\u5f02\u6216\uff0c\u5f53\u4e24\u5bf9\u5e94\u7684\u4e8c\u8fdb\u4f4d\u76f8\u5f02\u65f6\uff0c\u7ed3\u679c\u4e3a1\u3002\u53c2\u4e0e\u8fd0\u7b97\u6570\u4ecd\u4ee5\u8865\u7801\u51fa\u73b0\uff0c\u4f8b\u59829^5\u53ef\u5199\u6210\u7b97\u5f0f\u5982\u4e0b\uff1a 00001001^00000101 00001100 (\u5341\u8fdb\u5236\u4e3a12)
main(){
int a=9;
a=a^15;
printf("a=%d\n",a);
}

4. \u6c42\u53cd\u8fd0\u7b97 \u6c42\u53cd\u8fd0\u7b97\u7b26\uff5e\u4e3a\u5355\u76ee\u8fd0\u7b97\u7b26\uff0c\u5177\u6709\u53f3\u7ed3\u5408\u6027\u3002 \u5176\u529f\u80fd\u662f\u5bf9\u53c2\u4e0e\u8fd0\u7b97\u7684\u6570\u7684\u5404\u4e8c\u8fdb\u4f4d\u6309\u4f4d\u6c42\u53cd\u3002\u4f8b\u5982\uff5e9\u7684\u8fd0\u7b97\u4e3a\uff1a ~(0000000000001001)\u7ed3\u679c\u4e3a\uff1a1111111111110110

5. \u5de6\u79fb\u8fd0\u7b97 \u5de6\u79fb\u8fd0\u7b97\u7b26\u201c<<\u201d\u662f\u53cc\u76ee\u8fd0\u7b97\u7b26\u3002\u5176\u529f\u80fd\u628a\u201c<< \u201d\u5de6\u8fb9\u7684\u8fd0\u7b97\u6570\u7684\u5404\u4e8c\u8fdb\u4f4d\u5168\u90e8\u5de6\u79fb\u82e5\u5e72\u4f4d\uff0c\u7531\u201c<<\u201d\u53f3\u8fb9\u7684\u6570\u6307\u5b9a\u79fb\u52a8\u7684\u4f4d\u6570\uff0c
\u9ad8\u4f4d\u4e22\u5f03\uff0c\u4f4e\u4f4d\u88650\u3002\u4f8b\u5982\uff1a a\u201d\u662f\u53cc\u76ee\u8fd0\u7b97\u7b26\u3002\u5176\u529f\u80fd\u662f\u628a\u201c>> \u201d\u5de6\u8fb9\u7684\u8fd0\u7b97\u6570\u7684\u5404\u4e8c\u8fdb\u4f4d\u5168\u90e8\u53f3\u79fb\u82e5\u5e72\u4f4d\uff0c\u201c>>\u201d\u53f3\u8fb9\u7684\u6570\u6307\u5b9a\u79fb\u52a8\u7684\u4f4d\u6570\u3002
\u4f8b\u5982\uff1a\u8bbe a=15\uff0ca>>2 \u8868\u793a\u628a000001111\u53f3\u79fb\u4e3a00000011(\u5341\u8fdb\u52363)\u3002 \u5e94\u8be5\u8bf4\u660e\u7684\u662f\uff0c\u5bf9\u4e8e\u6709\u7b26\u53f7\u6570\uff0c\u5728\u53f3\u79fb\u65f6\uff0c\u7b26\u53f7\u4f4d\u5c06\u968f\u540c\u79fb\u52a8\u3002\u5f53\u4e3a\u6b63\u6570\u65f6\uff0c \u6700\u9ad8\u4f4d\u88650\uff0c\u800c\u4e3a\u8d1f\u6570\u65f6\uff0c\u7b26\u53f7\u4f4d\u4e3a1\uff0c\u6700\u9ad8\u4f4d\u662f\u88650\u6216\u662f\u88651 \u53d6\u51b3\u4e8e\u7f16\u8bd1\u7cfb\u7edf\u7684\u89c4\u5b9a\u3002Turbo C\u548c\u5f88\u591a\u7cfb\u7edf\u89c4\u5b9a\u4e3a\u88651\u3002
main(){
unsigned a,b;
printf("input a number: ");
scanf("%d",&a);
b=a>>5;
b=b&15;
printf("a=%d\tb=%d\n",a,b);
}
\u8bf7\u518d\u770b\u4e00\u4f8b!
main(){
char a='a',b='b';
int p,c,d;
p=a;
p=(p<<8)|b;
d=p&0xff;
c=(p&0xff00)>>8;
printf("a=%d\nb=%d\nc=%d\nd=%d\n",a,b,c,d);
}

1\u3001\u4f5c\u7528\u7684\u4e0d\u540c
&&\u3001||\u662f\u903b\u8f91\u8fd0\u7b97\u7b26\uff0c\u7528\u4e8e\u4ece\u5de6\u5230\u53f3\u6c42\u8868\u8fbe\u5f0f\u7684\u771f\u503c\u3002\u5047\u8bbex=1\uff1by=2\uff1b\u90a3\u4e48x&&y=1\uff1bx||y=1\u3002
&\u3001|\u662f\u4f4d\u8fd0\u7b97\u7b26\uff0c\u662f\u5bf9x\uff0cy\u8fdb\u884c\u4f4d\u8fd0\u7b97\uff0cx\uff0cy\u53d6\u503c\u5982\u4e0a\uff0c\u90a3\u4e48\u6709x&y=0\uff1b\uff08x\u7684\u4e8c\u8fdb\u5236\u8868\u793a\u4e3a00\uff0cy\u7684\u4e8c\u8fdb\u5236\u8868\u793a\u4e3a10\uff09\u3002
2\u3001\u5224\u65ad\u8fd9\u4e2a\u8868\u8fbe\u5f0f\u7684\u771f\u6216\u5047\u7684\u4e0d\u540c
&\u548c|\u65e2\u662f\u903b\u8f91\u8fd0\u7b97\u7b26\u4e5f\u662f\u4f4d\u8fd0\u7b97\u7b26\uff0c\u800c&&\u548c||\u53ea\u662f\u903b\u8f91\u8fd0\u7b97\u7b26\u3002
\u5f53&\u4e0e&&\u540c\u4e3a\u903b\u8f91\u8fd0\u7b97\u7b26\u65f6\uff0c\u5b83\u4eec\u90fd\u7528\u4e8e\u8fde\u63a5\u4e24\u4e2aBoolean\u7c7b\u578b\u7684\u8868\u8fbe\u5f0f\uff0c\u5f53&\u548c&&\u7684\u4e24\u7aef\u8868\u8fbe\u5f0f\u540c\u65f6\u4e3a\u771f\u65f6\uff0c\u8868\u8fbe\u5f0f\u7684\u7ed3\u679c\u4e3a\u771f\uff0c\u53ea\u8981\u6709\u4e00\u7aef\u4e3a\u5047\uff0c\u90a3\u4e48\u8868\u8fbe\u5f0f\u7ed3\u679c\u4e3a\u5047\u3002
\u4f8b\uff1a3>5&3>2;3>5&&3>2;
\u5f53|\u548c||\u7684\u4e24\u7aef\u8868\u8fbe\u5f0f\u540c\u65f6\u4e3a\u5047\u65f6\uff0c\u8868\u8fbe\u5f0f\u7684\u7ed3\u679c\u4e3a\u5047\uff0c\u53ea\u8981\u6709\u4e00\u7aef\u4e3a\u771f\uff0c\u90a3\u4e48\u8868\u8fbe\u5f0f\u7ed3\u679c\u4e3a\u771f\u3002

3\u3001\u8ba1\u7b97\u65b9\u5f0f\u4e0d\u540c
\u5f53\u4f7f\u7528&\u8fd0\u7b97\u7b26\uff1a\u8ba1\u7b97\u673a\u5728\u5224\u65ad\u8868\u8fbe\u5f0f\u7684\u503c\u7684\u65f6\u5019\uff0c\u5148\u5224\u65ad3>5\u7684\u503c\u4e3a\u5047\uff0c\u7136\u540e\u518d\u5224\u65ad3>2\u7684\u7ed3\u679c\u4e3a\u771f\uff0c\u4e8e\u662f\u6700\u540e\u7684\u7ed3\u679c\u662f\u5047&\u771f\u4e3a\u5047\uff1b

\u4f46\u662f\u5f53\u6211\u4eec\u4f7f\u7528&&\u8fd0\u7b97\u7b26\u7684\u65f6\u5019\uff1a\u8ba1\u7b97\u673a\u5148\u5224\u65ad3>5\u7684\u503c\u4e3a\u5047\uff0c\u6b64\u65f6\u8868\u8fbe\u5f0f\u7684\u7ed3\u679c\u4e00\u5b9a\u4e3a\u5047\uff0c\u6240\u4ee5\u8ba1\u7b97\u673a\u5c31\u4e0d\u518d\u5f80\u4e0b\u5224\u65ad\u4e86\uff0c\u5224\u5b9a\u8868\u8fbe\u5f0f\u7ed3\u679c\u4e3a\u5047\u3002

位运算符
C提供了六种位运算运算符;这些运算符可能只允许整型操作数,即char、short、int和long,无论signed或者unsigned。
&
按位AND
|
按位OR
^
按位异或
<<
左移
>>
右移
~
求反(一元运算)
按位与操作&通常用于掩去某些位,比如
n
=
n
&
0177;
使得n中除了低7位的各位为0。
按位或操作|用于打开某些位:
x
=
x
|
SET_ON;
使得x的某些SET_ON与相对的位变为1。
按位异或操作^使得当两个操作数的某位不一样时置该位为1,相同时置0。
应该区分位操作符&、|与逻辑操作符&&、||,后者从左到右的评价一个真值。比如,如果x为1、y为2,那么x
&
y为0,而x
&&
y为1。
移位运算符<<和>>将左侧的操作数左移或者右移右操作数给定的数目,右操作数必须非负。因此x
<<
2将x的值向左移动两位,用0填充空位;这相当于乘4。右移一个无符号数会用0进行填充。右移一个带符号数在某些机器上会用符号位进行填充(“算数移位”)而在其他机器上会用0进行填充(“逻辑移位”)。
单目运算符~对一个整数求反;即将每一个1的位变为0,或者相反。比如
x
=
x
&
~077
将x的后六位置0。注意x
&
~077的值取决于字长,因此比如如果假设x是16位数那么就是x
&
0177700。这种简易型式并不会造成额外开销,因为~077是一个常数表达式,可以在编译阶段被计算。
作为一个使用位操作的实例,考虑函数getbits(x,p,n)。它返回以p位置开始的n位x值。我们假设0位在最右边,n和p是正数。例如,getbits(x,4,3)返回右面的4、3、2位。
/*
getbits:
返回从位置p开始的n位
*/
unsigned
getbits(unsigned
x,
int
p,
int
n)
{
return
(x
>>
(p+1-n))
&
~(~0
<<
n);
}
表达式x
>>
(p+1-n)将需要的域移动到字的右侧。~0是全1;将其左移n为并在最右侧填入0;用~使得最右侧n个1成为掩码。

位运算数码只有二进制0和1、位与逻辑运算只有对应的位均为时1,与运算的结果才为1,其它都为0。0

  • C璇█浣嶈繍绠
    绛旓細c=a|b;printf("a=%d\nb=%d\nc=%d\n",a,b,c);} 3. 鎸変綅寮傛垨杩愮畻 鎸変綅寮傛垨杩愮畻绗︹淾鈥濇槸鍙岀洰杩愮畻绗︺傚叾鍔熻兘鏄弬涓庤繍绠楃殑涓ゆ暟鍚勫搴旂殑浜岃繘浣嶇浉寮傛垨锛屽綋涓ゅ搴旂殑浜岃繘浣嶇浉寮傛椂锛岀粨鏋滀负1銆傚弬涓庤繍绠楁暟浠嶄互琛ョ爜鍑虹幇锛屼緥濡9^5鍙啓鎴愮畻寮忓涓嬶細 00001001^00000101 00001100 (鍗佽繘鍒朵负12)main(){ ...
  • C璇█浣嶈繍绠绗:涓庛佹垨銆佸紓鎴栥佸彇鍙嶃佸乏绉诲拰鍙崇Щ!
    绛旓細C璇█鐨勪笘鐣岄噷锛岄殣钘忕潃涓缁勭绉樼殑浠g爜绗﹀拻鈥斺浣嶈繍绠绗︼紝瀹冧滑鍒嗗埆鏄細&锛堟寜浣嶄笌锛夈亅锛堟寜浣嶆垨锛夈乛锛堟寜浣嶅紓鎴栵級銆亊锛堝彇鍙嶏級銆<>锛堝彸绉伙級銆傝繖浜涜繍绠楃锛屽鍚岄瓟娉曡埇锛岃鏁村瀷鏁版嵁锛坈har, short, int, long锛夊湪浜岃繘鍒剁殑鑸炲彴涓婅穬鍔紝灞曠ず鐫瀹冧滑鐙壒鐨勯瓟鍔涖傞鍏堬紝鎴戜滑鏉ョ湅鐪&锛堟寜浣嶄笌锛夛細瀹冨氨鍍忎竴...
  • C璇█浣嶈繍绠
    绛旓細灏c涓巄杩涜鎸変綅鎴杩愮畻锛屽嵆c=c|b 绋嬪簭濡備笅锛 main() {unsigned a,b,c;int n: scanf("a=%o,n=%d",&a,&n);
  • C璇█涓浣嶈繍绠绗︾殑缁撴灉涓0杩樻槸1鍛?
    绛旓細0涓0鐨勭粨鏋滄槸0锛屾暀鏉愪腑鍑洪敊浜嗐備笌杩愮畻鐨勮繍绠楄鍒欐槸0&0=0; 0&1=0; 1&0=0; 1&1=1;鍗筹細涓や綅鍚屾椂涓衡1鈥濓紝缁撴灉鎵嶄负鈥1鈥濓紝鍚﹀垯涓0銆傛寜浣嶄笌杩愮畻 鎸変綅涓庤繍绠楃鈥&鈥濇槸鍙岀洰杩愮畻绗︺傚叾鍔熻兘鏄弬涓庤繍绠楃殑涓ゆ暟鍚勫搴旂殑浜岃繘浣嶇浉涓庛傚彧瑕佸搴旂殑浜屼釜浜岃繘浣嶉兘涓1鏃讹紝缁撴灉浣嶅氨涓1銆傚弬涓庤繍绠...
  • c璇█涓&&&&鐨勭粨鏋滄槸澶氬皯?
    绛旓細缁撴灉锛2561327494111820313銆C璇█浣嶈繍绠 鏈6绉嶏細 &锛 | , ^(浜︽垨)锛 <<(宸︾Щ)锛 >>(鍙崇Щ)銆傛敞鎰忥細鍙備笌浣嶈繍绠楃殑鍏冪礌蹇呴』鏄痠nt鍨嬫垨鑰卌har鍨嬶紝浠ヨˉ鐮佸舰寮忓嚭鐜般傛寜浣嶄笌& &杩愮畻甯稿簲鐢ㄤ簬锛氳繀閫熸竻闆躲佷繚鐣欐寚瀹氫綅銆佸垽鏂鍋舵с俛 & 1 = 1;鍒檃涓哄鏁 b & 1 = 0;鍒檃涓哄伓鏁 ...
  • C璇█浣嶈繍绠
    绛旓細C鎻愪緵浜嗗叚绉浣嶈繍绠杩愮畻绗︼紱杩欎簺杩愮畻绗﹀彲鑳藉彧鍏佽鏁村瀷鎿嶄綔鏁帮紝鍗砪har銆乻hort銆乮nt鍜宭ong锛屾棤璁簊igned鎴栬卽nsigned銆& 鎸変綅AND | 鎸変綅OR ^ 鎸変綅寮傛垨 << 宸︾Щ >> 鍙崇Щ ~姹傚弽锛堜竴鍏冭繍绠楋級鎸変綅涓庢搷浣&閫氬父鐢ㄤ簬鎺╁幓鏌愪簺浣嶏紝姣斿 n = n & 0177;浣垮緱n涓櫎浜嗕綆7浣嶇殑鍚勪綅涓0銆傛寜浣嶆垨鎿嶄綔|鐢ㄤ簬鎵撳紑...
  • 浣嶈繍绠绗︾殑杩愮畻瑙勫垯
    绛旓細&: 鍦C璇█涓湁涓ょ鎰忔濓紝涓绉嶆槸鍙栧湴鍧绗︼紝鏄崟鐩繍绠楃锛涘彟涓绉嶆槸浣嶈繍绠绗︼紝琛ㄧず鈥滄寜浣嶄笌鈥濓紝鏄弻鐩繍绠楃銆倈: 鏄綅杩愮畻绗︼紝琛ㄧず鈥滄寜浣嶆垨鈥濄傝祫鏂欐墿灞 1銆佺鍙 & 鍜 | 杩欎袱涓繍绠楃閮芥槸浜岃繘鍒剁殑鎸浣嶆搷浣绗︺&: 浜岃繘鍒垛滀笌鈥(閮戒负1鏃讹紝缁撴灉鏄1锛屽惁鍒欐槸0銆)锛屾瘮濡:1010 & 1011 = ...
  • C璇█鐨勬寜浣嶄笌銆佹垨銆侀潪銆佸紓鎴栭兘浠涔堟剰鎬濄傛湁浠涔堢敤
    绛旓細鍦ㄨ绠楁満涓紝鏁版嵁閮芥槸浠ヤ簩杩涘埗鏁板舰寮忓瓨鏀剧殑锛浣嶈繍绠灏辨槸鎸囧瀛樺偍鍗曞厓涓簩杩涘埗浣嶇殑杩愮畻銆C璇█鎻愪緵6绉嶄綅杩愮畻绗︺鍖呮嫭浣嶄笌(&)銆佷綅鎴(|)銆佷綅闈(~)銆佷綅寮傛垨(^)銆佸乏绉(<<)銆佸彸绉(>>)鍏銆浣嶈繍绠楃 & |~<< >> 鈭 鎸変紭鍏堢骇浠庨珮鍒颁綆鎺掑垪鐨勯『搴忔槸锛浣嶈繍绠...
  • c璇█涓綅涓庢槸浠涔堟剰鎬
    绛旓細鍦c璇█涓紝浣嶄笌鏄竴绉嶆寜浣嶈繍绠绗︼紝瀹冪敤鈥&鈥濊〃绀恒傚畠鐨勪綔鐢ㄦ槸灏嗕袱涓搷浣滄暟鐨勪簩杩涘埗鎸変綅瀵瑰簲姣旇緝锛屽苟鐢熸垚涓涓柊鐨勪簩杩涘埗鍊笺傚叿浣撴潵璇达紝濡傛灉涓や釜浜岃繘鍒舵暟鐨勭浉搴斾綅閮芥槸1锛屽垯鏂颁簩杩涘埗鍊肩殑鐩稿簲浣嶄篃鏄1锛屽惁鍒欎负0銆傚洜姝わ紝鍦ㄤ綅涓庤繍绠椾腑锛屽彧鏈夊綋涓や釜鎿嶄綔鏁扮殑鐩稿簲浣嶉兘鏄1鏃讹紝缁撴灉鎵嶆槸1銆備綅涓庤繍绠楀湪c...
  • c璇█,浣嶇鍚堣祴鍊杩愮畻瀛, =,&=,^=!=, 鍒嗗埆浠涔堝惈涔夊晩?
    绛旓細c璇█,浣嶇鍚堣祴鍊杩愮畻瀛, <<=,>>=,&=,^=!=, 鍒嗗埆浠涔堝惈涔夊晩? 1.= 璧嬪艰繍绠楀瓙 鍙樻暟=琛ㄧず寮 濡:a=3;灏哸鐨勫艰祴涓3 2./= 闄ゅ悗璧嬪 鍙樻暟/=琛ㄧず寮 濡:a/=3;鍗砤=a/3 3.*= 涔樺悗璧嬪 鍙樻暟*=琛ㄧず寮 濡:a*=3;鍗砤=a*3 4.%= 鍙栨ā鍚庤祴鍊 鍙樻暟%=琛ㄧず寮 濡:a%=3;鍗砤=a%3 5.+= 鍔...
  • 扩展阅读:c++编程 ... c++中<< ... c++必背入门代码 ... c++编程必背50个代码 ... c语言一个&和两个& ... c语言运算符优先级表 ... c语言ll 和&&的运算 ... c语言转义字符 ... c语言提供了几种运算符 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网