C语言if语句问题? c语言if语句问题?

作者&投稿:齐美 (若有异议请与网页底部的电邮联系)

执行顺序是这样的:

a=5,b=1,c=1

执行语句:a=c=b; 即a=b; c=b;[a=1,b=1,c=1]

用赋值成功的值(即b的值)作为逻辑值进行判断,0值为假,非0为真

因此执行a=4;的赋值[a=4,b=1,c=1]



答案就是43啊,else跟与它最近的未分配的if配对,程序可理解为:
#include
"stdio.h"
void
main()
{
int
a=3,b=4,c=5,d=2;
if(a
{
if(b>c)
printf("%d",d++
+1);
else
printf("%d",++d+1);
}
printf("%d\n",d);
}
如果答案是2说明你题目抄错了,
if(ab),这样结果就是2,因为只执行最后一句
printf("%d\n",d);。

a=c=b 一个等号是赋值语句 由于b是1 则a和c被赋值1
然后这个赋值语句在if里做条件 这个语句返回1 (C语言里 不为0的值是true) 条件成立 下面a赋值为4

(a=b=c)实际上就是把b的值赋给a和c,括号里计算完毕,a、b、c的值都为1,也就是if语句的条件是成立的。
条件成立,a会被赋值4,最后结果a=4,b=1。

if(a=c=b) 这个式子 是 怎么回事?
a=c=b 是数学表达式,非 C语言表达式
if 后 通常是 关系表达式,== 表示 相等,一个 = 是赋值

c语言中if语句常见的错误有哪些~

c语言中if语句常见的错误有:
1、if语句的错误使用
if(3>2);
printf("hello");
else
printf("hi");
2、if语句的错误使用

if(3>2)

printf("one");

elseif(3>1)

printf("tow");

else(3>0)

printf("three");

扩展资料
正确使用if语句
if语句是指如果满足某种条件,就进行相应的处理。例如,小明妈妈跟小明说“如果你考试得了100分,星期天就带你去游乐场玩”。这句话可以通过下面的一段伪代码来描述。

如果小明考试得了100分

妈妈星期天带小明去游乐场

在上面的伪代码中,“如果”相当于C语言中的关键字if,“小明考试得了100分”是判断条件,需要用()括起来,“妈妈星期天带小明去游乐场”是执行语句,需要放在{}中。修改后的伪代码如下:

if(小明考试得了100分)

{

妈妈星期天带小明去游乐场

}

上面的例子就描述了if语句的用法,在C语言中,if语句的具体语法格式如下:

if(条件语句)

{

代码块

}

c语言不是python,对缩进不敏感。if要用{}来区分代码块,如:
if(a==b)
{
/*你的代码*/
}
如果只有一条代码,也可以不用括号,如:
if(a>b) printf("%d",b);

C语言if语句问题?
答:执行语句:a=c=b; 即a=b; c=b;[a=1,b=1,c=1]用赋值成功的值(即b的值)作为逻辑值进行判断,0值为假,非0为真 因此执行a=4;的赋值[a=4,b=1,c=1]

c语言中if语句常见的错误有哪些
答:c语言中if语句常见的错误有:1、if语句的错误使用 if(3>2);printf("hello");else printf("hi");2、if语句的错误使用 if(3>2)printf("one");elseif(3>1)printf("tow");else(3>0)printf("three");

c语言 if 语句的问题
答:if(1)语句1;当括号里是1,就会执行语句1,如果是0,就不会执行这个条件语句。但如果if语句有else语句,如 if(1)语句1; else 语句2;就会当括号里是1,就会执行语句1,如果是0,就会执行else后面的语句2.

C语言中的if语句问题:
答:因为if里面的条件是短路条件。因为 ++a>0 是true,所以不再执行 后面的++b>0 了。因此,b的值没有变。你的选择题答案是B,因为 A 中 1 默认是int,而另外的三个变量也都是 int变量。因此表达式最后的结果也会是int型的,也就是说最后的结果是不会有小数的,而是只保留整数部分。而B 就不同...

C语言if语句问题
答:1 单独的if语句:if(expr)当expr为真时,执行判断体的语句。否则跳过,继续执行。2 if else语句:if(expr)code_A;else code_B;当expr为真时,执行code_A,否则执行code_B.3 if ... else if ... esle if... ... else 形式为 if(expr1)code_A;else if(expr2)code_B;...//若干个...

c语言关于if的问题
答:if(a<b)//如果a

c语言if语句问题
答:if (a > b){ if (b > c)t = b;else if (a > c)t = c;else t = a;} else { if (a > c)t = a;else if (b > c)t = c;else t = b;} 结果就是找出a,b,c中中间大的值。按原式子的括号分成三部分就很好理解了 ...

用pascal语言中的if语句解决一下几个问题。
答:If a mod b=0 then Write(a,'/',b,'=',a div b)Else Write(a,'/',b,'=',a div b,'...',a-b*(a div b));End.3.先读入这三个数,然后分别看看是不是偶数,是就偶数计数器加1,然后统计。程序:Var a,b,c:integer;a1,b1,c1:boolean;Begin Readln(a,b,c);a1:=a mod...

C语言if语句问题
答:首先代码太少无法判断具体原因 根据我的经验可能是由于缓冲区遗留字符被scanf("%c")读取了,也就是你if里面的输入 像这样的写法就会造成输入错的原因 int main(){int a;char b;scanf("%d", &a);scanf("%c", &b);printf("%d %c", a, b); return 0;}对于这个代码,输入a,比如输入...

c语言if语句问题。。。
答:if(a=12)注意这里是a=12,而不是a==12,所以if里面是一个赋值,赋值表达式的返回值就是所赋的值,所以if为真,并且a=12这样后,a被赋值为12 再执行a=a+1;b=b+1;就得到13;1了