若变量x、y 已正确定义并赋值,以下符合C 语言语法规则的语句是( ) 选择一个答案 a. ++x, y = x--; b. x
答案:5 悬赏:0 手机版
解决时间 2021-03-21 12:48
- 提问者网友:骑士
- 2021-03-21 09:03
若变量x、y 已正确定义并赋值,以下符合C 语言语法规则的语句是( ) 选择一个答案 a. ++x, y = x--; b. x
最佳答案
- 五星知识达人网友:拜訪者
- 2021-03-21 09:48
答案d
a:不能用逗号
b:左操作数必须为变量
c:同上追问a 的逗号没有违规呀追答++x是一条独立的语句啊。
int x=1,y=1;
++x,
y=x--;
怎么没违规啊.追问z = x++, y++, ++y;
这种情况为啥可以取值?
你的意思是不是:可以违反规则,但不影响运行?追答我对C语言中逗号的理解还不行,看下边的:
在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。
假设b=2,c=7,d=5,
a1=(++b,c--,d+3);
a2=++b,c--,d+3;
对于第一行代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是d+3,为8,所以a1=8。
对于第二行代码,那么也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符比逗号运算符优先级高)所以最终表达式的值虽然也为8,但a2=3。
逗号运算符的优先级最小
a有可能也对- -!。追问虽然违反语法规则,但是不影响运行吧?追答不影响的
a:不能用逗号
b:左操作数必须为变量
c:同上追问a 的逗号没有违规呀追答++x是一条独立的语句啊。
int x=1,y=1;
++x,
y=x--;
怎么没违规啊.追问z = x++, y++, ++y;
这种情况为啥可以取值?
你的意思是不是:可以违反规则,但不影响运行?追答我对C语言中逗号的理解还不行,看下边的:
在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。
假设b=2,c=7,d=5,
a1=(++b,c--,d+3);
a2=++b,c--,d+3;
对于第一行代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是d+3,为8,所以a1=8。
对于第二行代码,那么也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符比逗号运算符优先级高)所以最终表达式的值虽然也为8,但a2=3。
逗号运算符的优先级最小
a有可能也对- -!。追问虽然违反语法规则,但是不影响运行吧?追答不影响的
全部回答
- 1楼网友:走死在岁月里
- 2021-03-21 14:22
B
- 2楼网友:空山清雨
- 2021-03-21 13:22
d追问a. ++x, y = x--;
虽然违反语法规则,但是不影响运行吧?追答有影响,会提示语法错误!
虽然违反语法规则,但是不影响运行吧?追答有影响,会提示语法错误!
- 3楼网友:洒脱疯子
- 2021-03-21 11:58
正确答案有两个。
a.符合
d.符合
a.符合
d.符合
- 4楼网友:怀裏藏嬌
- 2021-03-21 10:48
正确的选项是A,
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯