码迷,mamicode.com
首页 > 编程语言 > 详细

C语言中的顺序点

时间:2020-04-18 13:48:40      阅读:92      评论:0      收藏:0      [点我收藏+]

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

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

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

#include <stdio.h>
#include <stdlib.h>
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 <stdio.h>
#include <stdlib.h>
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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!