c语言中规定 赋值运算符的左边必须是什么?
5个回答
展开全部
必须是变量名(如a=2),也可以是
*指针变量名(这相当于给指定的内存地址赋值,如*p=2)
C99或者C++还允许引用名写在赋值号左边
*指针变量名(这相当于给指定的内存地址赋值,如*p=2)
C99或者C++还允许引用名写在赋值号左边
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言中规定
赋值运算符的左边必须变量,不能是常量。
例如:int
i=1;i就是一个变量。
赋值操作符(=)用于对变量赋值,左边必须是变量,右边是可以当成数字使用的内容,赋值操作符的优先级很低,但是比,优先级高。
多个赋值操作符从右向左计算。
复合赋值操作符(+=,-=,*=,/=),其优先级和赋值操作符的优先级一样。
swap.c
#include
<stdio.h>
int
main()
{
int
num
=
3,
num1
=
7;
/*int
num2
=
0;
num2
=
num;
num
=
num1;
num1
=
num2;*/
/*num
=
num
+
num1;
num1
=
num
-
num1;
num
=
num
-
num1;*/
num
=
num
-
num1;
num1
=
num
+
num1;
num
=
num1
-
num;
printf("num是%d,num1是%d\n",
num,
num1);
return
0;
}
赋值运算符的左边必须变量,不能是常量。
例如:int
i=1;i就是一个变量。
赋值操作符(=)用于对变量赋值,左边必须是变量,右边是可以当成数字使用的内容,赋值操作符的优先级很低,但是比,优先级高。
多个赋值操作符从右向左计算。
复合赋值操作符(+=,-=,*=,/=),其优先级和赋值操作符的优先级一样。
swap.c
#include
<stdio.h>
int
main()
{
int
num
=
3,
num1
=
7;
/*int
num2
=
0;
num2
=
num;
num
=
num1;
num1
=
num2;*/
/*num
=
num
+
num1;
num1
=
num
-
num1;
num
=
num
-
num1;*/
num
=
num
-
num1;
num1
=
num
+
num1;
num
=
num1
-
num;
printf("num是%d,num1是%d\n",
num,
num1);
return
0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.
必须是变量
2.
因为要赋值给左边,所以左边必须是一个可以存储东西的单元
3.
这是规定的,必须是变量
必须是变量
2.
因为要赋值给左边,所以左边必须是一个可以存储东西的单元
3.
这是规定的,必须是变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
赋值运算符左侧只能是变量,而不能是常量或者表达式。右侧可以是表达式包括赋值表达式。规定最左边变量所得到的新值,就是整个赋值表达式的值,
如果赋值运算符的两侧类型不一致,在赋值前系统将自动先把右边的表达式所求得的数值按赋值号左侧变量的类型进行转换,
就这么多了,哪里不完全待修改还请指正。
如果赋值运算符的两侧类型不一致,在赋值前系统将自动先把右边的表达式所求得的数值按赋值号左侧变量的类型进行转换,
就这么多了,哪里不完全待修改还请指正。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
左边必须是一个变量,类型可以不同。
两边的类型不同也可以赋值,强制转型比如:
char
s[20];
int
x=(int)s
两边的类型不同也可以赋值,强制转型比如:
char
s[20];
int
x=(int)s
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询