一秒回答的C语言问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 15:50:50
if(j=0)i++;等价于if(0)i++;么;

如果我输入j的一个值是不是不管j的值是任何数 if语句都不会执行么?

在执行语句的时候i++的赋值是在语句结束后 就给予赋值吧!//大哥大姐们帮个忙谢谢了

j=0是一个赋值运算
j==0才是判断j是否为0;
所以if(j=0)和if(0)是等价的,条件都是假

if(j=0)i++;\\(多谢二楼提醒)不管j输入多少都不执行if内嵌语句
if(0)i++;\\不关j的事,不管j=什么,if语句都不执行
========
至于i++;
在你这里,这种用法,i++和++i是一会事,因为如果执行if内嵌语句i++到分号完就加上去了,所以和++i作用一样

不等价,
if(j=0)i++;执行后,j=0
if(0)i++;执行后,j没有被赋值
不过i++总是不会被执行的

不等价
if(j=0)if的条件是j=0,永远为真,所以总是执行if语句后的i++
if(0)if的条件是0,永远为假,所以总是不执行if语句后的i++

要注意‘=’和‘==’的区别