当前位置: 代码迷 >> C语言 >> 关于函数声明的程序
  详细解决方案

关于函数声明的程序

热度:439   发布时间:2008-02-27 23:14:28.0
关于函数声明的程序
下面的函数没有声明怎么也可以啊 请给出该程序思路 谢谢

#include<stdio.h>
//fun1();
//fun2();
int x;
int main()
{
    printf("\n%d",x);
    f1();
    f1();
    f2();
    f1();
    f2();
    return 0;
}

f1()
{
    int y=5;
    y++;x++;
    printf("\nx=%d,y=%d",x,y);
}
f2()
{
    x--;
    printf("\nx=%d",x);
}
搜索更多相关的解决方案: 函数  声明  

----------------解决方案--------------------------------------------------------
没看明白,不过X是属于全局变量,但为什么没赋初值呢?是随机的吗?先上机试一下,然后再告诉你运行结果。
----------------解决方案--------------------------------------------------------
WIN-TC结果:

0
x=1,y=6
x=2,y=6
x=1
x=2,y=6
x=1
----------------解决方案--------------------------------------------------------
文件作用域的变量(不管是内部链接,还是外部链接)
都是静态存储类
未明确初始化的话,字节都设置为0
----------------解决方案--------------------------------------------------------
没有声明怎么会是对的?不知道lz用的什么编译器,我用的devc++,编译未通过!
----------------解决方案--------------------------------------------------------
#include<stdio.h>
//fun1();
//fun2();
int x;
f1()
{
    int y=5;
    y++;x++;
    printf("\nx=%d,y=%d",::x,y);
}
f2()
{
    ::x--;
    printf("\nx=%d",::x);
}
int main()
{
    printf("\n%d",::x);
    f1();
    f1();
    f2();
    f1();
    f2();
    return 0;
}c++这样写问题就不模糊了
----------------解决方案--------------------------------------------------------
3#的结果是对的
这是关于变量存储的问题
#include<stdio.h>
//fun1();
//fun2();
int x;             //[bc10] 未明确初时化,默认为0,x的作用开始处
int main()
{
    printf("\n%d",x);
    f1();
    f1();
    f2();
    f1();
    f2();
    return 0;
}

f1()
{
    int y=5;     //[bc10] 每次调用此函数,y都被赋值为5,是auto类
    y++;x++;
    printf("\nx=%d,y=%d",x,y);
}
f2()
{
    x--;
    printf("\nx=%d",x);
}
----------------解决方案--------------------------------------------------------
  相关解决方案