为什么第一个if语句执行后不执行第二个if语句。if elseif 嵌套语句是怎么看的啊 为什么while语句中嵌套的if语句,条件符合第二个if,却...

\u65b0\u624b\u8bf7\u6559\uff0cC\u8bed\u8a00\u4e2d\u4e3a\u4ec0\u4e48if if else\u7684\u5d4c\u5957\u8bed\u53e5\u4e2d\uff0c\u6267\u884c\u4e86\u7b2c\u4e00\u4e2aif\u7b2c\u4e8c\u4e2a\u4f1a\u4e0d\u6267\u884c\uff1f(\u8f93\u51fa\u7684\u7b54\u6848\u662f2)

\u56e0\u4e3a\u7b2c\u4e00\u4e2aif\u6761\u4ef6\u4e0d\u6ee1\u8db3\uff0c\u4e0d\u80fd\u6267\u884c\u91cc\u9762\u5d4c\u5957\u7684\u7b2c\u4e8c\u4e2aif

if(a=1) //\u4f60\u8fd9\u8fb9\u5199\u7684\u662f=\uff0c\u4e0d\u662f== \uff0c=\u662f\u8d4b\u503c\uff0c\u4e00\u5b9a\u6210\u529f\u7684
sum1++;
if(a=0) //\u8fd9\u8fb9\u4e5f\u662f
sum2++;

首先,这种题要知道答案很简单,自己把题目放到编译软件上运行一下就行,然后可以通过结果反推过程。
这道题我编译出来结果是2,以下是我的逻辑:
首先,要知道else配对的是哪个if,这个配对方法很简单,由于没加括号,直接往上行找离它最近的没配对的if就行。本题与else配对的是第二个if;
其次,由于没有加括号,第一个if只能控制下一行的语句,即第二个if;第一个if无效,所以程序判定下一行的第二个if无效,而再往下一行的语句又受第二个if控制,所以它受到连锁反应,间接被无效了。下面的else与第二个if配对,第二个if无效就是else配对对象无效,else自然就跟着无效了。那么c=2就没有受到任何改变,原样输出。
这道题,虽然没有加括号括住下面的内容,但是最后因为if的性质,产生了连环无效,实际上与加了括号的效果一样
这里引起迷惑的应该是与else配对的if被无效后,else的反应;尤其是本题有两个if,会让人想到配对了的if无效后,else还可能直接与另一个if形成配对关系。但是由实际编译的结果可知,else是从一而终的,它最开始配对的if无效,它也会直接跟着无效,不会与其他else配对。

程序中初始化a等于2,b等于-1,c等于2,因此第一个if语句的判断条件(a<b)不成立,即条件为“假”,因此程序跳转执行else中的操作,c值增1。所以c等于3。
只有在条件判断语句if的条件表达式为“真”的时候,程序才会执行if语句内的操作。

  • 涓轰粈涔堢涓涓猧f璇彞鎵ц鍚庝笉鎵琛岀浜屼釜if璇彞銆俰f elseif 宓屽璇彞鏄...
    绛旓細鍏舵锛岀敱浜庢病鏈夊姞鎷彿锛绗竴涓猧f鍙兘鎺у埗涓嬩竴琛岀殑璇彞锛屽嵆绗簩涓猧f锛涚涓涓猧f鏃犳晥锛屾墍浠ョ▼搴忓垽瀹氫笅涓琛岀殑绗簩涓猧f鏃犳晥锛岃屽啀寰涓嬩竴琛岀殑璇彞鍙堝彈绗簩涓猧f鎺у埗锛屾墍浠ュ畠鍙楀埌杩為攣鍙嶅簲锛岄棿鎺ヨ鏃犳晥浜嗐備笅闈㈢殑else涓庣浜屼釜if閰嶅锛岀浜屼釜if鏃犳晥灏辨槸else閰嶅瀵硅薄鏃犳晥锛宔lse鑷劧灏辫窡鐫鏃犳晥浜嗐傞偅涔坈=2灏辨病鏈...
  • ...澶т簬绛変簬灏忎簬0,涓轰粈涔鍙鎵ц绗竴涓猧f灏涓嶆墽琛涓嬮潰鐨勪簡?璇烽棶_鐧惧害鐭 ...
    绛旓細delta鍙細婊¤冻涓绉嶆儏鍐碉紝鎵浠ュ彧浼氭湁涓涓粨鏋溿if璇彞鏉′欢涓嶆弧瓒宠繖涓猧f鎵鍖呭惈鐨勮鍙ユ槸涓嶄細鎵ц鐨
  • ...澶т簬绛変簬灏忎簬0,涓轰粈涔鍙鎵ц绗竴涓猧f灏涓嶆墽琛涓嬮潰鐨勪簡?璇烽棶_鐧惧害鐭 ...
    绛旓細delta鍙細婊¤冻涓绉嶆儏鍐碉紝鎵浠ュ彧浼氭湁涓涓粨鏋溿if璇彞鏉′欢涓嶆弧瓒宠繖涓猧f鎵鍖呭惈鐨勮鍙ユ槸涓嶄細鎵ц鐨
  • ...else鐨勫祵濂璇彞涓,鎵ц浜绗竴涓猧f绗浜屼釜浼涓嶆墽琛?(杈撳嚭鐨勭瓟妗堟槸2...
    绛旓細鍥犱负绗竴涓猧f鏉′欢涓嶆弧瓒锛屼笉鑳芥墽琛岄噷闈㈠祵濂楃殑绗簩涓猧f
  • jsp 鍑芥暟鍐if璇彞鍙鎵ц绗竴涓,鍚庨潰鐨涓嶆墽琛鏄庝箞鍥炰簨,杩欓噷鍑芥暟涓昏...
    绛旓細姣忎釜if閮芥湁return锛屽悗缁▼搴忓氨涓嶆墽琛浜
  • js 閲屾湁涓ゅif else ,涓轰粈涔堢涓瀵鎵ц瀹涔嬪悗,灏变笉寰涓嬫墽琛屼簡
    绛旓細鎶if閲岄潰鎵鏈璇彞淇濇寔鍚屾 鍘诲悗鍙拌皟鐢ㄦ暟鎹悗鐨勬墍鏈夋搷浣滃啓鍦ㄥ洖璋冨嚱鏁伴噷闈㈠氨鍙互
  • if 閲岄潰 for 寰幆鍦绗竴娆¤繘鍏ヤ細琚墽琛,绗簩娆¤繘鍏ュ氨涓嶆墽琛鏄浠涔鍘熷洜...
    绛旓細鍦–++涓紝濡傛灉for寰幆宓屽鍦╥f璇彞涓紝閭d箞鏃犺绗竴涓猧f鐨勬潯浠舵垚绔嬩笉鎴愮珛锛岄兘瑕鎵ц绗浜屼釜if銆俧or姣忓惊鐜竴娆★紝涓涓猧f璇彞閮借鍋氫竴娆°俧or璺熺殑閭d釜璇彞鍧楀ぇ鎷彿鏄涓涓乏澶ф嫭鍙峰拰鏈熬鐨勫彸澶ф嫭鍙凤紝鎵浠or姣忔閮借鎶婁袱涓if鎵ц涓娆°傚鏋滄偍浣跨敤鐨勬槸Python锛岄偅涔堝彲鑳芥槸鍥犱负鎮ㄥ湪鍑芥暟鍐呴儴浣跨敤浜哹reak璇彞...
  • 鏂版墜璇锋暀,C璇█涓涓轰粈涔坕fifelse鐨勫祵濂璇彞涓,鎵ц浜绗竴涓猧f绗浜屼釜浼...
    绛旓細褰撶劧鍙互浜嗐傘傘if..else璇彞琛ㄧず鐨勬槸閫夋嫨涓嬩竴姝ュ簲璇鎵ц鐨勫唴瀹广傘傛病鏈夊鍐呭浣滃叿浣撹姹傦紙涓嶈鏈夎娉曢敊璇傘傚洤銆傘傦級
  • 杩欐槸c璇█棰樼洰,绗竴涓猧f鏉′欢閿欒鍟,涓嶅彲鑳鎵ц鍟,杩欓亾棰樻庝箞鍥炰簨_鐧惧害...
    绛旓細绗竴涓猧f璇彞鏄涓嶆墽琛锛屽彧鏄痶=a涓嶆墽琛岋紝鍥犱负璇彞浣撴病鏈夊姞澶ф嫭鍙凤紝鍚庨潰鐨刟=c;c=t;杩樻槸浼氭墽琛岋紝鐒跺悗绗簩涓猧f璇彞浼氭墽琛岋紝鍥犱负鏄楀彿璇彞锛屾墍浠ヤ笁涓〃杈惧紡閮戒細鎵ц銆傛墽琛岃繃绋嬩负锛歛=5,c=99 t=4,b=5,a=4 鎵浠ヨ緭鍑轰负锛4599
  • 涓涓c璇█鐨勯鐩叧浜if鍜宔lse if
    绛旓細濡傛灉鏄敼鎴if(a[1]==2)鐨勮瘽锛屽氨鏄彧瑕佹弧瓒(a[1]==2)灏卞彲浠ヤ簡 鑰屽鏋滄槸else if(a[1]==2)鐨勮瘽锛屾槸鍐峚[0]==1涓嶆弧瓒崇殑鎯呭喌涓嬶紝鍗砤[0]涓嶄负1锛屽苟涓攁[1]涓2锛屾墠鎵ц,printf("the no.1 number is the no.2\n");銆
  • 扩展阅读:if三个判断条件三个结果 ... if两个条件同时满足 ... if包含某个文字 多条件 ... python if elif else 循环 ... ifs同时判断多个条件 ... 只能用whether不用if ... if两个条件满足一个 ... 多个if语句并列 怎么运算 ... 多个if语句是同时执行 ...

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