正在加载图片...
例4-3(实参求值顺序不同所带来的二义性问题 int a(20); int s s=area(-a2a×2); cout<<s<<endl; 说明:调用函数area时,实参求值顺序 先计算a*2,再计算 int area (int a, int b) 有两种可能 return(a*b); 先计算-a,再计算 赋给形参b的值有可能是40,也有可能是38 改变调用函数表达式中实参的表示形式,避免有可能带来二义性的写法。改变调用函数表达式中实参的表示形式,避免有可能带来二义性的写法。 说明:调用函数area时,实参求值顺序 有两种可能 先计算a*2,再计算--a 先计算--a ,再计算a*2 赋给形参b的值有可能是40,也有可能是38。 int a(20); int s; s=area(--a,a*2); cout<<s<<endl; } int area(int a,int b) { return (a*b); } 例 4-3 实参求值顺序不同所带来的二义性问题
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有