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

来源:百度知道 编辑:UC知道 时间:2024/05/24 10:19:29

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

关于语法还是要多看书啊,比如基本数据类型,取值范围等

a是char型的,赋值1000已经超出了char的范围,所以a永远都不等于1000

2楼正解,char只有1个字节,正数最大也只能表示到255

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

补充回答:
没有意义!因为永远不可能给char类型的变量,赋值1000的!
1000付给char类型的变量,赋值后,变量的值肯定不是1000,因为溢出了啊

char 类型占2个字节,表示的范围是(-128~127),a=1000,会把1000 的低八位赋值给a,a=-24,不等于1000
像楼上几位说得差不多,只要赋的值大于127之后 都会溢出错误

char是字符型,取值在-128-127之间,而你赋值超过它的取值范围了,这个等式永远不能成立,也就说a!=1000是横恒假的语句