美文网首页
Chapter 4&5 Statements, Operator

Chapter 4&5 Statements, Operator

作者: 再凌 | 来源:发表于2020-01-13 23:01 被阅读0次

    sizeof()

    sizeof() 运算符不会真正执行里面的内容, 所以

    sizeof( a = b + c) 
    

    并不会真正执行里面的赋值语句

    同优先级

    f() + g() + k()

    即便C语言保证了加法运算是从左到右进行, 但是编译器不会保证f(), 还是g(), 亦或是k(), 谁先运行得到结果

    因此,如果这三个函数有旁路效果( side effect), 如I/O, 或影响了全局变量等, 那么执行结果将根据不同的编译器而异.

    为了保证相同的计算顺序, 我们可以引入temp变量来强制f,g,k的调用顺序,如下

    temp = f();
    temp+= g();
    temp+= k();
    

    由此, 三个函数的调用顺序得到强制化.

    相关文章

      网友评论

          本文标题:Chapter 4&5 Statements, Operator

          本文链接:https://www.haomeiwen.com/subject/uyxoactx.html