int a=b=0为什么不正确
时间: 2024-03-24 11:39:50 浏览: 34
在C语言中,赋值运算符"="的返回值为被赋的值。所以,表达式"a=b=0"的执行顺序是从右至左,即先执行"b=0",然后将"b=0"的返回值0赋给a。但是,由于b未被定义,所以编译器会报错,导致整个表达式无法编译通过。
要让表达式"a=b=0"正确执行,需要先定义变量b,例如:
```
int a, b;
a = b = 0;
```
这样,先将0赋给b,再将b的值0赋给a,代码就可以正常执行了。
相关问题
语句a=b=c=5;合法,语句int a=b=c=5;不合法,为什么
语句 a=b=c=5; 是合法的,它将数值 5 赋值给了变量 a、b、c。
而语句 int a=b=c=5; 不合法,因为在 C++ 中,赋值运算符的优先级低于类型转换运算符,所以这条语句实际上被解释为 int a = (b = (c = 5));,其中 b 和 c 被隐式地声明为 int 类型,但是 b 和 c 并没有被定义,因此编译器会报错。如果要声明并定义变量 a、b、c,可以使用下面的代码:
```
int a, b, c;
a = b = c = 5;
```
这样就能够正确地将数值 5 赋值给变量 a、b、c 了。
int a=7 int b=5 b=b/a是多少
这段代码会报错,因为在赋值语句中,需要用到运算符 "=" 将右边的值赋给左边的变量,所以正确的代码应该是:
```
int a = 7;
int b = 5;
b = b / a;
```
其中,"/" 是除法运算符,用于计算 b 除以 a 的值,因此 b 的值将被更新为 0。注意,这里是整数除法,所以结果为 0 而不是小数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)