关于C语言程序的执行顺序

Python016

关于C语言程序的执行顺序,第1张

1.

最开始a=0.000000;

2.

C语言从main()函数开始执行,如果在main()函数中不调用test(),那么test()就不执行。

3.

假设调用了test()函数,那么要等timer函数执行完之后才开始执行a

=

k

+

i

4.

假设调用了timer()函数,只是要循环100次,并不是100个时钟周期。

顺序执行,从main函数开始,顺序执行。

遇到调用的其它函数就先运行函数,然后继续执行主函数下面的语句。

当整个程序编写好后,编译器先编译,再连接各种库函数,然后执行程序。

for多重循环的执行顺序是先执行内部循环,再执行外部循环

通过对代码进行等价转换,按照上述原理即可知道代码的执行顺序

对于上面代码:

for(i=0i<8i++)

for(j=0j<10j++)

scanf("%d,%d",&i,&j)

它等价于下面

for(i=0i<8i++){

    for(j=0j<10j++){

        scanf("%d,%d",&i,&j)

    }

}

从上面可以看出,每执行完一次j循环,i的值才增加1

但是注意,该代码有一个陷阱:scanf函数会改变i和j的值

实际执行顺序会受用户输入的i、j值的不同而不同

对于下面的代码

for(i=0i<8)

   min_m(i++)=i

for(j=0j<8j++)

它等价于下面的代码:

for(i=0i<8){

   min_m(i++)=i

}

for(j=0j<8j++){}

会先执行min_m函数8次 然后再执行j循环

注意,该代码有一个问题,就是min_m函数的返回值必须是一个左值。

这意味着某些变量的值发生了更改,可能会影响到循环。