c语言中,判断赋值语句是不是成功为什么是没有意义的?


void main(void)
{
char a = 0;
a = 1000;
if(a != 1000) //为什么说这是个没有意义的操作!
{
printf("error\n");
}
}
其实问题就是程序中判断赋值语句是不是赋值成功,有意义吗?

第1个回答  2008-11-10
a是char型的,它所能表示的范围是(-128~127)
a = 1000; 会溢出的。(a != 1000) 永远不可能成立!

补充回答:
没有意义!因为永远不可能给char类型的变量,赋值1000的!
1000付给char类型的变量,赋值后,变量的值肯定不是1000,因为溢出了啊
第2个回答  2008-11-07
char 类型占2个字节,表示的范围是(-128~127),a=1000,会把1000 的低八位赋值给a,a=-24,不等于1000
像楼上几位说得差不多,只要赋的值大于127之后 都会溢出错误
第3个回答  2008-11-07
char是字符型,取值在-128-127之间,而你赋值超过它的取值范围了,这个等式永远不能成立,也就说a!=1000是横恒假的语句
第4个回答  2008-11-07
a是char型的,赋值1000已经超出了char的范围,所以a永远都不等于1000
第5个回答  2008-11-07
关于语法还是要多看书啊,比如基本数据类型,取值范围等本回答被提问者采纳

c语言中,判断赋值语句是不是成功为什么是没有意义的?
没有意义!因为永远不可能给char类型的变量,赋值1000的!1000付给char类型的变量,赋值后,变量的值肯定不是1000,因为溢出了啊

c语言中,当判断语句为赋值语句时,会如何?
恒真,判断结果一直为真;其实还要看你赋值语句对不对,赋值语句成立,可以成功赋值,则为真,不成立,无法赋值则为假。

C语言里为什么不能用赋值语句对字符数组进行整体赋值
总而言之就是C作为一种接近底层的语言,它的数组和指针以及内存的使用有数不清的关系,所以不支持这种高级的语法。

C语言赋值语句是否正确的判断
不能给b+c这样的表达式赋值(因为b+c得到的是一个常量),所以不正确

c语言赋值语句怎么是合法
答题公式1:++ 回答1:C语言赋值语句一般是合法的。在C语言中,赋值语句是一种基本的语言结构,用于给变量或数组等赋值,因此,赋值语句在编程中是非常常见的,也是C语言的基础语法之一,大部分情况下都是合法的。在C语言中,基本的赋值语句形式是:变量名 = 表达式;其中变量名表示一个变量,等号“=...

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

【C语言,变量赋值无效问题,进来看看】
c=a++&&(b=1);这个复合语句是一个逻辑判断表达式 关键就在于中间的这个&&符号,当判断到该符号的第一个条件为假时,后面无论是什么条件,整个表达式的结果都为假,因此,该符号后面的条件都不会再进行计算,也就是b=1实际不会被执行。当然,这里也要说明一下为什么a++为假,a的值为0,而a++...

c语言中如何正确判断语句是否为赋值语句
c里面,容易分不清的是“=”和“==”前面是赋值运算符,后面是关系运算符中的等于运算符;另外还有一些组合的赋值运算符:+=(a+=b---相当于a=a+b),-=,*=,\/=,%=,>>=,<<=,&=,^=,|=;这些只要理解了第一个例子,后面的都可以了,...

c语言中什么是赋值?什么是错?
对于如下说明,语法和语义都正确的赋值是:C、s=&a[1];A、语法上正确(可能引起编译警告)。若非静态变量或全局变量,否则s没有被初始化,是随机值,*s的值无法确定,即没有确定的语义;若是静态变量或全局变量,s被初始化为0,对地址0的解引用操作没有确定的语义。B、错误。理由同上,对随机...

c语言赋值语句为何不正确 int x=y=0;
声明变量的时候不能连续赋值,因为当系统执行第一个赋值语句的时候,你的y是没有定义的。

相似回答