C语言 子函数和主函数的放置前后顺序区别?

C语言 子函数和主函数的放置前后顺序区别?,第1张

先回答下第一个问题,子函数的实现方法可以放在使用它的主函数或者其它子函数后面,但是你的定义一定要在使用它之前;不然编译器怎么知道你用的函数square是什么,这就是我们经常包含头文件的一个目的,头文件是一些函数定义或者预编译命令。

修改是在#include<stdio.h>后面加

int square(int num);

第二个问题:num是在main定义是可以在main作用域内直接使用,或者当做参数传递给子函数,你的问题num为什么可以在子函数中用,首先你子函数的num并非main里的num只是你把他们名字写成一样了;main里num是通过值传递给子函数的num,实际他们两个num的内存地址是不一样的,你子函数换个名字去理解一下。

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函数的返回值必须是一个左值。

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


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11201044.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存