A. c语言: 一下不正确的赋值语句是
上面的回答解释都是错误的。
D违背了C语言赋值的一个原则,
“不能连续赋值”;
D是连续赋值的;
这个题我见过类似的··
做错过一次了············
B. C语言 关于赋值错误的问题
if((a<=b)&&((b-a+1)<=N)&&(((a+b)*(b-a+1))/2=M))
这句语句错了,我不知道你是不是想写成(((a+b)*(b-a+1))/2==M)(=变成==)
这个的错误是,等号前面是表达式,表达式的结果是一个临时变量,你把M赋值给一个临时变量,肯定错了。临时变量不能做左值
要不改成==,表示相等,如果就是赋值,把M写前面就可以了,把运算的值赋给M
C. ()是不正确的C语言赋值语句。A.x=1,y=2;B.x++;C.x=y=5;D.y=int(x);答案是D,为什么
如果x和y都已正确声明并赋值,那么这4个选项都是正确的,所以这是扯淡题……y=int(x);是把x强制为int型赋给y,int两边有没有()都是合法的。
D. c语言常见的赋值错误。。。
第二个是对的 char c = 32;
其他两个是错误的。
int n1=n2=10; 这个n2声明了吗??n2是什么类型的元素。
int n2=10;
int n1=n2; //这样是对的。
int n1,n2;
n1=n2=10; //这样也是对的。因为,n2在前面都声明了。
float f=f+1.1; //后面的这个f是什么?从哪里来的?代表的值是多少?这些编译器都不知道。
那么即使这样正确了,f的值也是不可预测的。所以,这个也不正确。
在C/C++中,变量都是先声明,后使用。
E. C语言,为什么这个赋值语句是错的
这样的写法相当于a = b + c; b + c = 1; 赋值表达式是将右项的值赋值给左项,左项不能使用表达式,所以采用b+c=1这种格式是错误的。
F. 下列C语言赋值语句中正确的是,不正确的是,为什么
1是正确的。c=22的值是给c赋值22;b++是先参与表达式计算,后自加。所以表达式相当于:
c=22;
d=c-b;
b=b+1;
2是不正确的。强制类型转换要加括号,应该是:
k = (int)(a+b);
3是正确的。单独一个分号是空语句的意思,不做任何操作;
4也是正确的。大括号表示一个逻辑块,只有一分号表示这个逻辑块中只有一条空语句。