c语言中intx=1,y=1,!x||y――的值 c语言表达式求值设intx=1,y=1;表达式(!x++||...

\u8bbeint x=1,y=1;\u8868\u8fbe\u5f0f\uff08\uff01x||y--)\u7684\u503c \u662f\u600e\u4e48 \u8fd0\u7b97\u7684\u3002\u6c42\u89e3\u3002

1.\u5148\u7b97!x\uff0c\u7ed3\u679c\u4e3a0\uff1b
2.\u518d\u7b97y--\uff0c\u7ed3\u679c\u4e3a1\uff0cy\u7684\u503c\u53d8\u4e3a0\uff1b
3.\u518d\u7b97\u903b\u8f91\u6216||\uff0c0\u62161\uff0c\u7ed3\u679c\u4e3a1\u3002\u6240\u4ee5\u6700\u540e\u7ed3\u679c\u4e3a1
\u4f18\u5148\u7ea7\uff1a\u81ea\u51cf\u8fd0\u7b97\u7b26>\u903b\u8f91\u975e\u8fd0\u7b97\u7b26>\u903b\u8f91\u6216\u3002
\u57fa\u672c\u7684\u4f18\u5148\u7ea7\u9700\u8981\u8bb0\u4f4f\uff1a
\u6307\u9488\u6700\u4f18\uff0c\u5355\u76ee\u8fd0\u7b97\u4f18\u4e8e\u53cc\u76ee\u8fd0\u7b97\uff0c\u5982\u6b63\u8d1f\u53f7\u3002
\u5148\u7b97\u672f\u8fd0\u7b97\uff0c\u540e\u79fb\u4f4d\u8fd0\u7b97\uff0c\u6700\u540e\u4f4d\u8fd0\u7b97\u3002\u8bf7\u7279\u522b\u6ce8\u610f\uff1a1 << 3 + 2 & 7\u7b49\u4ef7\u4e8e (1 << (3 + 2))&7\u3002
\u903b\u8f91\u8fd0\u7b97\u6700\u540e\u7ed3\u5408\u3002\u7b80\u5355\u8bb0\u5c31\u662f\uff1a\uff01 > \u7b97\u672f\u8fd0\u7b97\u7b26 > \u5173\u7cfb\u8fd0\u7b97\u7b26 > && > || > \u8d4b\u503c\u8fd0\u7b97\u7b26\u3002

\u6269\u5c55\u8d44\u6599\uff1a
\u8fd0\u7b97\u7b26\u8ba1\u7b97\u7684\u65f6\u5019\u8fd8\u8981\u6ce8\u610f\u5de6\u7ed3\u5408\u6027\u548c\u53f3\u7ed3\u5408\u6027\uff1a
C\u8bed\u8a00\u4e2d\u5404\u8fd0\u7b97\u7b26\u7684\u7ed3\u5408\u6027\u5206\u4e3a\u4e24\u79cd\uff1a\u5de6\u7ed3\u5408\u6027\u548c\u53f3\u7ed3\u5408\u6027\u3002
\u4f8b\u5982\uff1a\u7b97\u672f\u8fd0\u7b97\u7b26\u7684\u7ed3\u5408\u6027\u662f\u81ea\u5de6\u81f3\u53f3\uff0c\u5373\u5148\u5de6\u540e\u53f3\u3002
\u5982\u6709\u8868\u8fbe\u5f0fx-y+z\u5219y\u5e94\u5148\u4e0e\u201c-\u201d\u53f7\u7ed3\u5408\uff0c\u6267\u884cx-y\u8fd0\u7b97\uff0c\u7136\u540e\u518d\u6267\u884c+z\u7684\u8fd0\u7b97\u3002\u8fd9\u79cd\u81ea\u5de6\u81f3\u53f3\u7684\u7ed3\u5408\u65b9\u5411\u5c31\u79f0\u4e3a\u201c\u5de6\u7ed3\u5408\u6027\u201d\u3002
\u800c\u81ea\u53f3\u81f3\u5de6\u7684\u7ed3\u5408\u65b9\u5411\u79f0\u4e3a\u201c\u53f3\u7ed3\u5408\u6027\u201d\u3002 \u6700\u5178\u578b\u7684\u53f3\u7ed3\u5408\u6027\u8fd0\u7b97\u7b26\u662f\u8d4b\u503c\u8fd0\u7b97\u7b26\u3002\u5982x=y=z\uff0c\u7531\u4e8e\u201c=\u201d\u7684\u53f3\u7ed3\u5408\u6027\uff0c\u5e94\u5148\u6267\u884cy=z\u518d\u6267\u884cx=(y=z)\u8fd0\u7b97\u3002
C\u8bed\u8a00\u8fd0\u7b97\u7b26\u4e2d\u6709\u4e0d\u5c11\u4e3a\u53f3\u7ed3\u5408\u6027\uff0c\u5e94\u6ce8\u610f\u533a\u522b\uff0c\u4ee5\u907f\u514d\u7406\u89e3\u9519\u8bef\u3002\uff08\u4e0a\u6587\u7684\u4f18\u5148\u7ea7\u6709\u5206\u8fa8\u5de6\u53f3\u7ed3\u5408\u6027\uff09\u3002
\u53c2\u8003\u8d44\u6599\uff1a
\u767e\u5ea6\u767e\u79d1-\u8fd0\u7b97\u7b26\u4f18\u5148\u7ea7

\u56e0\u4e3a++\u4e0e!\u7684\u8fd0\u7b97\u4f18\u5148\u7ea7\u4e00\u6837\uff0c\u5e76\u4e14\u7ed3\u5408\u6027\u90fd\u662f\u4ece\u53f3\u5411\u5de6\uff0c\u6240\u4ee5!x++\u5148\u8ba1\u7b97x++\uff0cx++\u7b49\u4e8e2\uff0c\u518d\u6c42\u53cd\uff0c\u975e0\u6c42\u53cd\u503c\u4e3a0\uff0c\u81f3\u4e8ey--\uff0cy\u81ea\u51cf\u8fd0\u7b97\uff0c\u8fd0\u7b97\u7b26\u5728\u540e\u9762\u5148\u53d6y\u7684\u503c\uff0c\u518d\u8fdb\u884c\u81ea\u51cf\u8fd0\u7b97\uff0cy--\uff0cy\u7684\u503c\u4e3a0\uff0c\u4f46\u662f\u81ea\u51cf\u4e4b\u524d\u5148\u53d6y\u7684\u503c\u53c2\u4e0e\u903b\u8f91\u6216\u8fd0\u7b97\uff0c0\u903b\u8f91\u62161\u7ed3\u679c\u4e3a1

首先x=1,为真
其次y=1,为真

x||y的意思是,如果有一个为真,那么都是真

因为x和y都是真,所以x||y都是真。

但是这里有一个优先级的问题。

!的意思是非,也就是说,如果一个真的值前面加一个!,那么他就是假,如果一个假的值前面加一个!,那么他就是真。 比如!1就是0,!0就是1(也可能不是1,不同编译器用法不同)

因为!比||优先级高,所以!x为0,于是0||1,也就是真,也就是1或非0值。

你的意思是要问:
int x=1,y=1;
表达式!x||y--的返回值是多少是么。
是1。 !x返回0 y--先取值后--,所以返回1 所以原表达式相当于 0||1 ,所以是1

1

  • c璇█涓璱ntx=1,y=1,!x||y鈥曗曠殑鍊
    绛旓細棣栧厛x=1锛涓虹湡 鍏舵y=1锛涓虹湡 x||y鐨勬剰鎬濇槸锛屽鏋滄湁涓涓负鐪燂紝閭d箞閮芥槸鐪 鍥犱负x鍜寉閮芥槸鐪燂紝鎵浠||y閮芥槸鐪熴備絾鏄繖閲屾湁涓涓紭鍏堢骇鐨勯棶棰樸傦紒鐨勬剰鎬濇槸闈烇紝涔熷氨鏄锛屽鏋滀竴涓湡鐨勫煎墠闈㈠姞涓涓紒锛岄偅涔堜粬灏辨槸鍋囷紝濡傛灉涓涓亣鐨勫煎墠闈㈠姞涓涓紒锛岄偅涔堜粬灏辨槸鐪熴 姣斿锛1灏辨槸0锛岋紒0灏辨槸...
  • c璇█杈撳叆x=1杈撳嚭y=1;
    绛旓細include <stdio.h> int main(){ int x,y;printf("杈撳叆x:\n");scanf("%d",&x);if(x>0)y=1;else if(x<0)y=-1;if(x==0)y=0;printf("y鐨勫间负锛%d\n",y);}
  • 璁int x=1,y=1;琛ㄨ揪寮(!x||y--)鐨鍊兼槸( )姹傝В
    绛旓細1銆佸厛绠!x锛岀粨鏋滀负0锛2銆佸啀绠梱--锛岀粨鏋滀负1锛寉鐨鍊煎彉涓0锛3銆佸啀绠楅昏緫鎴東|锛0鎴1锛岀粨鏋滀负1銆傛墍浠ユ渶鍚庣粨鏋滀负1 浼樺厛绾э細鑷噺杩愮畻绗>閫昏緫闈炶繍绠楃>閫昏緫鎴栥傚熀鏈殑浼樺厛绾ч渶瑕佽浣忥細鎸囬拡鏈浼橈紝鍗曠洰杩愮畻浼樹簬鍙岀洰杩愮畻锛屽姝h礋鍙枫傚厛绠楁湳杩愮畻锛屽悗绉讳綅杩愮畻锛屾渶鍚庝綅杩愮畻銆傝鐗瑰埆娉ㄦ剰锛1 << 3 + 2...
  • 鍦C璇█涓,璁int x=1,y=1;鍒欒〃杈惧紡(!x||y - -)鐨勫兼槸?澶х浠府甯繖_鐧 ...
    绛旓細!x绛変环浜!(x!=0)锛x=1锛x!=0涓虹湡锛屽间负1锛!(x!=0)鍊间负0 y--鏄嚜鍑忚繍绠楃锛屾墽琛岃鍙ュ悗y鍐嶈嚜鍑1 琛ㄨ揪寮忕瓑浠蜂簬(1||1)锛屼负鐪燂紝鍊间负1 琛ㄨ揪寮忕殑鍊间负1
  • 璁int x=1, y=1; 琛ㄨ揪寮(!x||y--)鐨鍊兼槸 瑕佽鏄庢柟娉
    绛旓細鏍规嵁杩愮畻绗︿紭鍏堢骇鍜岀粨鍚堟у彲鐭ワ紝鍘熷紡绛夋晥浜 ((!x)||(y--))瀵逛簬瀛愯〃杈惧紡浠e叆xy鍊煎彲鐭 !x鍊间负0(鍋)y--,鐢变簬鏄嚜鍑忚繍绠楃鍚庣紑,鎵浠ヨ〃杈惧紡鍊间负y鐨鍘熷1(鐪)鎵浠ユ暣涓〃杈惧紡鍊间负1(鐪)渚嬪锛氶昏緫杩愮畻鐨勮〃杈惧紡锛岄潪0鍗1銆!x鐨缁撴灉鏄0 y--鐨勭粨鏋滄槸1 0璺1閫昏緫鎴栫殑缁撴灉鏄1 ...
  • 璁int x=1,y=1;琛ㄨ揪寮(!x||y--)鐨鍊 鏄庝箞 杩愮畻鐨勩傛眰瑙c
    绛旓細1.鍏堢畻!x锛岀粨鏋滀负0锛2.鍐嶇畻y--锛岀粨鏋滀负1锛寉鐨鍊煎彉涓0锛3.鍐嶇畻閫昏緫鎴東|锛0鎴1锛岀粨鏋滀负1銆傛墍浠ユ渶鍚庣粨鏋滀负1 浼樺厛绾э細鑷噺杩愮畻绗>閫昏緫闈炶繍绠楃>閫昏緫鎴栥傚熀鏈殑浼樺厛绾ч渶瑕佽浣忥細鎸囬拡鏈浼橈紝鍗曠洰杩愮畻浼樹簬鍙岀洰杩愮畻锛屽姝h礋鍙枫傚厛绠楁湳杩愮畻锛屽悗绉讳綅杩愮畻锛屾渶鍚庝綅杩愮畻銆傝鐗瑰埆娉ㄦ剰锛1 << 3 + 2 &...
  • C璇█涓 main() {int x=1,y=1,z=0; if(z<0) if(y>0 鍏蜂綋璇风湅涓嬭竟绋嬪簭...
    绛旓細main(){intx=1,y=1,z=10;if(z<0)if(y>0)x=3;elsex=5;printf(''%d\t'',x);if(z=y<0)x=3;else... main() {int x=1,y=1,z=10; if(z<0) if(y>0) x=3;else x=5; printf(''%d\t'',x);if(z=y<0) x=3; else if(y==0) x=5;else x=7;printf(''%d\t,x);...
  • C璇█闂,璁 int x=1, y=1; 琛ㄨ揪寮(!x||y--)鐨勫兼槸()銆傜瓟妗堟庝箞鏄1鍛...
    绛旓細閫昏緫杩愮畻鐨勮〃杈惧紡锛岄潪0鍗1銆!x鐨缁撴灉鏄0 y--鐨勭粨鏋滄槸1 0璺1閫昏緫鎴栫殑缁撴灉鏄1
  • ...<stdio.h>main(){int x=1,y=1;int m n;m=n=1,
    绛旓細棣栧厛鎸囧嚭绋嬪簭涓殑涓夊閿欒锛岀涓涓槸int m n涓棿搴旇鏈夐楀彿锛岀浜屼釜鏄痵wtich鎷煎啓鏈夐敊璇紝绗笁涓槸鎵撳嵃杈撳叆璇彞printf("x=%d,y=%d",x,y)鏈夎銆備慨姝e悗绋嬪簭鐨勮繍琛岀粨鏋滄槸锛歺=6锛寉=6銆備唬鐮佽繍琛岀粨鏋滃涓嬪浘鎵绀猴細绋嬪簭杩愯杩囩▼瑙f瀽锛1銆佸畬鎴愬彉閲忕殑璧嬪硷紝鍏朵腑鏈x=1锛寉=1锛m=1锛宯=1銆2銆佹墽琛岀涓...
  • int x=1,y=1,琛ㄨ揪寮(!x鈥杫--)鐨鍊兼槸澶氬皯
    绛旓細鍦C璇█涓锛屽崟鐩繍绠楃锛堝嵆鍙湁涓涓搷浣滄暟锛夌殑浼樺厛绾т竴鑸珮浜庡弻鐩繍绠楃锛岋紒鐨勪紭鍏堢骇楂樹簬ll锛岃〃杈惧紡浠庡乏寰鍙宠绠楋紙褰撶劧鏈変簺缂栬瘧鍣ㄤ粠鍙冲線宸﹁绠楋紝涓嶈繃杩欏苟涓嶅奖鍝嶏級锛岋紒1灏辨槸0锛寉--杩欎釜琛ㄨ揪寮忓厛鎶妝浣滀负杩斿洖鍊奸佸嚭鍘伙紝鍐嶈繘琛岃嚜鍑忋傛墍鏈夊氨鏄0ll1锛琛ㄨ揪寮忕殑鍊煎氨鏄1锛岃繍绠楃粨鏉熷悗y鐨勫间负闆躲
  • 扩展阅读:c#输入整数 ... c语言intx y z ... c语言中三分之一怎么表示 ... 小学数学公式大全 ... c语言1百分号2 ... 2%5取余 ... sin tan cos函数表 ... c#制作计算器 ... c#简易计算器代码 ...

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