C语言中的顺序点

2021-02-13 19:20

阅读:719

标签:int   art   ++   main   system   details   ref   detail   tps   

1.每个完整表达式结束后,即分号后面
2.&&,||,三木运算符(?:),以及逗号表达式的每一个运算对象计算之后
3.函数调用中对所有实际参数的求值完成之后(进入函数体之前)

https://blog.csdn.net/baidu_25773927/article/details/50520610

#include
#include
int main(int argc, char *argv[])
{
    int k = 2;
    int a = 1;
    k = k++ + k++;
    printf("k = %d\n",k);
    if(a--&&a)
    {
        printf("a = %d\n",a);
    }
    system("PAUSE");
    return 0;
}
#include
#include
int f(int i, int j)
{
    printf("%d, %d\n", i, j);
}
int main(int argc, char *argv[])
{
    int k = 1;
    f(k, k++);
    printf("%d\n", k);
    system("PAUSE");
    return 0;
}
输出结果
//2,1
//21234567891011121314151617181920
也就是 i =2,j = 1, k = 2
之前提到实参在传入函数之前对实参的求值完成之后是一个顺序点,也就是在进行值传递的时候K已经是2了,

C语言中的顺序点

标签:int   art   ++   main   system   details   ref   detail   tps   

原文地址:https://www.cnblogs.com/pquan/p/12725461.html


评论


亲,登录后才可以留言!