C语言中a=a++,i++;为什么是赋值语句,不是a=a++后要是分号吗

如题所述

a=a++,i++;
这是一句话 逗号表示这句话还没执行完 后边还有操作

逗号改成分号也可以 那就变成两句话
a=a++;i++;

在这个地方用逗号还是分好没什么区别追问

那可以这样写那a=a++,b=b++;

追答

a=a++,i++;
这句话是作为表达式用的
你要看上下文的 不能孤立地来看

追问

这个是个题目,问哪个是正确的赋值语句然后选的是这个

追答

其他几个选项拿来看看

追问

选的是不符合的记错了若有定义double a=22;int i=0,k=18;
Aa=a++,i++;
Bi=(a+k)<=(i+k);
Ci=a%11;
Di!=a;

追答

Aa=a++,i++; 是赋值
Bi=(a+k)<=(i+k); 先判断大小 然后结果赋值给i
Ci=a%11; 模运算 不能进行 不是赋值
Di!=a; 这个貌似是比较啊 是不是写错了 i=ia 倒是赋值

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-18
我觉的 a=a++没见过 不是直接写a++??就行了吗??例如
写成 int x,y,z,h; 多方便 你非得写成 int x; int y; int z; int h; 你费尽不? 那个逗号是对的 写成一块就要逗号了 写成分号隔开是 两个语句 其实没什么区别 你可以试一下
=这个就是赋值符号 当然就是赋值语句了
相似回答