#include <stdio.h>
float fun(int a,int b);
int main(void)
{
int a=2,b=5,c=8;
float d;
d=fun((a--,c--,a+c),(int)fun(a+c,b));
printf("%.0f\n",d);
return 0;
}
float fun(int a,int b)
{
return a+b;
}
注意点
一、fun(a--,c--,a+c)里的(括号里的)逗号运算符:
从左至右依次进行计算,a = 2,c = 8,即a-- =2 、c-- = 8,a = 1、c = 7、a+c =8.
二、 (int)fun(a+c,b)里()的强制类型转换:
(int)表示将float fun(a+c,b)转为int类型,
三、递增递减运算符:
“++”与“--”
首先,这两者运算符的算子必须为变量,不能为常量。
eg1、“5++”或“5--” (错误)。
其次,a++等于a+1之前的值,a--等于a-1之前的值。
即、 a = 5 那么a++ = 5且之后a = 6
a-- = 5且之后a = 4。
而, a = 5 ++a = 6且之后a = 6
--a = 4且之后a = 4。