你是分开问的吧,语句不像语句的
int x=1; 就是生命了一个整形变量,之后给它赋值为1
如果连起来的话可以生命好几个同类型的
int x=1 ,y=1;空格不作为分节符
至于括号中的是一个条件表达式
!是逻辑非运算符,单目的,表示取反,真为假,价位真
||为逻辑或运算,双目的,两遍任意一个为真整体即为真
y--是先使用y的值,使用完了之后把y的值减去1
那么这句话可以拆为
使用了这个条件(!x||y)即只有x为真并且Y为假的时候表达式为假,其余为真同时之后执行y--;
这是考试题?
考逗号表达式吗?你这个问题本身就有问题,你的y没有初值。我只能假设y=1分析给你看
首先计算x=3*y,结果赋给x,假设是3;
然后计算x+1,用上面的结果就是3+1了,就是4.
逗号表达式取最右边表达式的结果赋值。那么
(x=3*y,x+1)
这个表达式的结果就是4.
在计算y=(4,x-1),你应该就明白了。x刚才是赋值过为3了,那么x-1=2;同理,
y=((x=3*y,x+1),x-1)
实际赋值为y=2,同时x有第一个表达式赋值为3.