关闭

关于printf打印前置++与后置++

68人阅读 评论(0) 收藏 举报
分类:
void fun(){
	int a = 8;
	printf("%d %d %d %d %d %d\n", ++a, --a, a++, a--, -a++, -a--);
}

经常会遇到如上面这种无聊的问题,这是一道无厘头的面试题。

这道题目的答案,完全取决于编译器,答案并不唯一。

编程中的复合语句,最好是拆分开,比如int a = f()*g() + h();它的调用顺序,不一定是执行完f()再执行g()我们唯一能确定的只是*会再+前面完成。

如果f(),g()中存在共用的全局变量,这么调用很危险。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10041次
    • 积分:1047
    • 等级:
    • 排名:千里之外
    • 原创:84篇
    • 转载:45篇
    • 译文:0篇
    • 评论:0条
    文章分类