不仅可以赋值,还能输出个hello world呢(其实应该说,平常写的if(a==1)这种语句是这样运作的。首先a=...
C语言的,就是int x=5; if(x==5) K=2;这句话意思是:当x确实等于5,即if判断条件为真,然后执行 k=2; 那假如这样 if(x=5) K=2;我为x赋值5,这个if的判断条件为真么?可以执行k=2;么?那假如 if(x=0) k=2;还执行么? 我用的编译器是vc6.0复制表达式x=5本身是有值的,这个值等于左值.也就是...
在一个表达式中可以包含另一个表达式,赋值表达式是表达式,那么它就可以出现在其他表达式中。例如:if((a=b)>0) max=a;在if语句中的a=b不是赋值语句,而是赋值表达式。值得注意的是赋值表达式的末尾没有分号,而赋值语句的末尾必须有分号。在一个表达式中可以包含一个或多个赋值表达式,但绝不能包含赋值语句。 赋值...
可以,但是这样if就没意义了。只会永远是true或者false。除非值也是个函数。比如if(i=0){...} 这里...
if(a=2){ b=2;c=4;} else d=3;这个语句没有语法错误(可能会有警告),是可以执行的。但是这个语句永远没有机会执行else部分。a=2赋值表达式的计算结果就是2,当这个表达式出现在if语句逻辑表达式位置上的时候,它的计算结果是被当作逻辑值处理的,在C语言中用整型数表示逻辑量,非零表示“真”...
完全可以在if语句中赋值的。include<stdio.h>int main(){double p,w,s,f,d;scanf("%lf %lf %lf",&p,&w,&s);if(s>=0&&s<250)d=0;else if(s>=250&&s<500)d=0.02;else if(s>=500&&s<1000)d=0.05;else if(s>=1000&&s<2000)d=0.08;else if(s>=2000&&s<3000)d=0...
当if语句中的条件为赋值语句时,实际上是将赋值后的结果与0进行比较。比如下面的代码:include <stdio.h>int main(){int a;if (a = 0) printf("hello world\n");return 0;}它等价于:include <stdio.h>int main(){int a = 0;if (a==0) printf("hello world\n");return 0;}这个...
C语言使用0代表假,非0代表真 if(a=0);就相当于 a=0;if(a);就相当于 if(0);括号中的条件是假
//我举个例子你就明白了//赋值运算符=运算优先级是从右到左,然后看下面代码int a,b;b = (a=1);//编译器编译得到如下代码:movDWORD PTR _a$[ebp], 1moveax, DWORD PTR _a$[ebp]movDWORD PTR _b$[ebp], eax①a=1②b=a如此推断,(a=1)的值即a的值,而a的值为1所以if(1)不用...