#include"stdio.h"
int a=1,b=2;
main()
{
int i,a=2;
for(i=0;i<2;i++)
printf("%d,",f(a));
printf("%d\n";a+b);
int f(int a)
{
int b=1;
static c=2;
b++;c++;

展开全部
收起
5回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • justsososo

    11人对此回答表示赞同

    其实在MAIN()外定义的是外部变量,在整个程序中多可以调用,但是MAIN()内部的A,B会被被覆盖的,所以其实他执行的是内部的A,B的值。

    你是不是写错啦,那个被调用的函数应该在MAIN()外面吧,所以被调用的A应该是外部变量的A,其他的多被内部变量给覆盖了。
    至于B++,C++运行几次就看FOR循环了,因为如果没有{}默认执行printf("%d,",f(a)); 可以知道FOR循环总共循环两次,所以执行printf("%d,"
    展开
    11
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Jordan

    10人对此回答表示赞同

    7,4
    8,5
    static什么功能?a,b都是变量,开始赋值了,主要是怕程序出错的,也可以在后面赋值,具体等于多少就看它最后赋的值是多少了,I=0;I<2;I++,说面I的取值可以是0和1;两个PRINTF都执行了两次,我也是两年前学的,考完证就没摸过了!
    展开
    10
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Camila

    4人对此回答表示赞同

    你可以把这个放到VS2005里设断点DEBUG,每个都清清楚楚的
    展开
    4
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • wtfjunglebell

    2人对此回答表示赞同

    a的值一直是2;
    main前定义的b值一直是1; main前面定义的是全局变量,函数里面的b值改变
    不影响外面的b的值;
    b++运行两次;
    c++一次也没执行,因为c是静态变量,只能初始化赋值,其他地方不能改变其值
    printf都执行两次
    其实这些问题,你找个编译器跑一次就解决了,不用这么麻烦到网上来问的。。
    比如:
    想知道b++执行几次 就在b++后面加一条printf语句就行了
    展开
    2
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Aubrey

    1人对此回答表示赞同

    我来给你来个终极详细的解吧:
    如下:1 给i,a赋值
    2 利用i这个变量做一个 for循环 因为 i<2 所以i从 0开始 循环2次,分别是0 , 1
    3 所以,每循环一次就打出一个 f(a) 和 a+b

    以上为主程序 main 里的.

    然后就是MAIN外的 他这定义 int f 代替定义 f(a)
    然后这里定义b=1 c=2
    展开
    1
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部