c语言之 y=(x%2)/10赋值语句为何错了

如题所述

数据类型反应数据和操作的意义,对于%运算符,只能用于整型数,如果出错,基本都是因为x的数据类型不是整型数据类型。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-15
其实也不算错,只是这样y的值始终是0罢了,因为x对2取余数后一定小于10,在除10取整位数自然是0了追问

++x是错误的赋值语句吧

追答

%只对整型有效,++x是没错

第2个回答  2011-03-15
首先,你要判断你定义的xy是不是同一类型的数,其次,对2求余后对10求商必定为零,除非你改变数据类型。
第3个回答  2011-03-16
x只能够是整形数据,因为取余运算符(%)只能用于int型数据。本回答被提问者采纳
第4个回答  2011-03-15
改成y=1.0*(x%2)/10

c语言赋值y=x\/2=z错在哪
x\/2=z表示把 z赋值给 x\/2 而x是变量,x\/2是值。值是不可以被赋值的

...以下不合法的赋值语句是 A)++x; B)y=(x%2)\/10; C) x*=y+8; D)x...
选B,因为求余运算后是整型,即x%2是整型,而y是float,你去看看类型的自动转换,整形和浮点型没法自动转换

C语言中这个赋值语句正确吗?为什么?y=int(x);这个语句错在哪里?
y=int(x);系统这样解析的:把x作为int()的参数传给int()函数(但是你没定义这个函数,而且int 是关键字不能定义这个名字的函数,)然后把int()函数的返回值赋给y,明显int()你没定义,而且不能定义名字是关键字的函数,所以是错的

C语言纠错,求问这个代码为什么是错的
第一,while(n>0)这里如果是这样,请问-123456,你怎么可能还能计算???第二,if(x%2!=0) a[i]=x; i++;这里,即使x是偶数,你i也++,显然不正确!第三,for(y=0;y<=i;y++)里面i怎么可能等于y,根据你上面的计算,i应该是统计奇数的个数,当y=i时明显已经越界了!我已经在你...

c语言正确定义赋值
C)x=n=1 \/\/很明显,缺少分号,一个语句的最基本要求就是,以分号结束.如果做为一个表达式是合法的,x=n=1同等于 x=1,n=1;D)x=5=4=1;\/\/错误,赋值的最基本要求,被赋值的一定是变量,不能是常量,也就是说左边是变量,右边可以是常量,或者已经被赋值的变量, 因为5 4 都不是变量,故错误.

在C语言中11种赋值运算符的具体含义,用法?
=是取模后赋值,+=是加后赋值,-= 是减后赋值,2.<<=是左移后赋值,变量<<=表达式 左移就是将左边的数的二进制各位全部左移若干位,右边的数指定移动位数,高位丢弃,低位补0, 移几位就相当于乘以2的几次方。3.>>=是右移后,变量>>=表达式,右移运算符是用来将一个数的各二进制位右...

...已正确定义并赋值,以下合法的C语言赋值语句是( )。
【答案】:A 本题考查赋值运算符及赋值表达式。赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量,选项C)和D》错误。”%”运算符两侧都应当是整型数据,选项B)错误。

c语言:“不能在赋值语句中通过赋值运算符‘=’对字符型数组进行整体赋值...
char s[5]="asdf";这句不是赋值而是初始化;讲的赋值语句是在程序执行中的赋值,就像 int a;int b;b=a; 这是赋值;对于字符而言,要赋值就要采用strcpy(s1,s2)这个函数。

C语言题目 以下非法的赋值语句是?
2、注意在变量==说明==中给变量赋初值和赋值语句的区别。 给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。 例如: int a=5,b,c;3、在变量说明中,不允许连续给多个变量赋初值。 如下述说明是错误的: int a=b=c=5 ...

【C语言】对于整型变量x,下属if语句()与赋值语句:x=x%2==0?1:0;不...
选择B。B选项是如果x除以2的余数不为0,则x=1。正好反了。

相似回答