| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 391 人关注过本帖
标题:求解第二个输出和第三个输出
只看楼主 加入收藏
a1092909114
Rank: 2
等 级:论坛游民
帖 子:27
专家分:39
注 册:2014-4-18
结帖率:57.14%
收藏
已结贴  问题点数:20 回复次数:4 
求解第二个输出和第三个输出
#include<stdio.h>
int g(int x ,int y)
{
    return x+y;}

int f (int x,int y)
{
    {
        static int x=2;
        if(y>2)
        {x=x*x;y=x;}
        else y=x+1;
    }
    return x+y;
}
main()
{
    int a=3;
    printf("%d\n",g(a,2));
    printf("%d\n",f(a,3));
    printf("%d\n",f(a,2));
}
搜索更多相关主题的帖子: return 
2014-05-17 09:16
shiyishao
Rank: 1
等 级:新手上路
帖 子:2
专家分:7
注 册:2014-5-16
收藏
得分:7 
2014-05-17 09:52
juezehechu
Rank: 2
等 级:论坛游民
帖 子:3
专家分:32
注 册:2014-5-17
收藏
得分:7 
{x=x*x;y=x;}
此时已经改变x的值了 是将x*x赋给了y而不是将2给了y;
这是我编的请大神指点下
#include<stdio.h>
int g(int x ,int y)
{
    return x+y;}

int f (int x,int y)
{
    {
        static int x=2;
        if(y>2)
        {
            y=x;
            x=x*x;
        }
        else  y=x+1
    }
    return x+y;
}
main()
{
    int a=3;
    printf("%d\n",g(a,2));
    printf("%d\n",f(a,3));
    printf("%d\n",f(a,2));
}

[ 本帖最后由 juezehechu 于 2014-5-17 10:09 编辑 ]
2014-05-17 10:05
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
收藏
得分:7 
回复 楼主 a1092909114
程序代码:
#include<stdio.h>
int g(int x ,int y)
{
    return x+y;}

int f (int x,int y)
{
    {                            
        static int x=2;           //x为static变量. 这里已经设定了,它的作用域就是由此往下连续四行.
        if(y>2)                   //
        {x=x*x;y=x;}              //
        else y=x+1;               //
    }     
    return x+y;
}
main()
{
    int a=3;
    printf("%d\n",g(a,2));
    printf("%d\n",f(a,3));          //此处第一次调用f函数.首先判断y,此时x=2因为y=3>2,所以x=2*2=4,而y=x=4.
                                    //跳出该判断条件,return x+y, 此时x=3,但和{}里面的x不同,此时的x是形参.
                                    //因此x+y=3+4=7.
    printf("%d\n",f(a,2));          //此处第二次调用f(). 此时继续前面的操作,因为y=2,执行y=x+1=5, 此时x=4,
                                    //也就是保留了刚才的值,跳出{}后,执行return x+y, x+y=3+5=8. 返回8.
}


代码测试环境:  WinXP+C-Free5.0.
2014-05-17 10:16
a1092909114
Rank: 2
等 级:论坛游民
帖 子:27
专家分:39
注 册:2014-4-18
收藏
得分:0 
谢谢 我最后的x的值用错了  原来外面一直是3啊
2014-05-17 10:19
快速回复:求解第二个输出和第三个输出
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012942 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved