在c语言中,a=a+7;和int(12.3%4)为什么不符合c语言语法表达式(变量已经正确定义并负

问题描述:

在c语言中,a=a+7;和int(12.3%4)为什么不符合c语言语法表达式(变量已经正确定义并负
值)
1个回答 分类:综合 2014-09-19

问题解答:

我来补答
a=a+7; 是赋值语句.不是表达式.表达式的运算结果应当是1个值,例如 a+7, b+c*k.

12.3%4 --- % 运算,参加运算的两个 数,必须都是整型,它是整除取余数运算.
(int)12.3 % 4 便可以了,因为 (int) 强制转换优先,变 12 %4 合法了.

(也有些教材 把 a=a+7 称为 “赋值表达式” ,不知道是什么道理,也许把它理解成 返回 逻辑值 真,例如 if (a=a+7) printf("%d,",a); 编译一定通过,条件一定为真,a=a+7 后面无分号 ).
 
 
展开全文阅读
剩余:2000
下一页:例6求步骤
也许感兴趣的知识